Skip to content

Commit 7f3b687

Browse files
committed
Implement /openapi ingress route to serve a merged OpenAPI spec
Implements #3108. Schema component names use PascalCase everywhere: - Per-service specs: handler "greet" produces GreetRequest/GreetResponse - Merged spec: prefixed with PascalCase service name, e.g. GreeterGreetRequest The prefix defaults to PascalCase(service_name) but can be overridden by setting the "dev.restate.openapi.prefix" service metadata key during discovery. When set, the prefix is also used as the per-service spec title.
1 parent 2883d05 commit 7f3b687

File tree

4 files changed

+545
-8
lines changed

4 files changed

+545
-8
lines changed

crates/ingress-http/src/handler/mod.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ mod awakeables;
1212
mod error;
1313
mod health;
1414
mod invocation;
15+
mod openapi;
1516
mod path_parsing;
1617
mod responses;
1718
mod service_handler;
@@ -76,10 +77,7 @@ where
7677
async move {
7778
match res? {
7879
RequestType::Health => this.handle_health(req),
79-
RequestType::OpenAPI => {
80-
// TODO
81-
Err(HandlerError::NotImplemented)
82-
}
80+
RequestType::OpenAPI => this.handle_openapi(req),
8381
RequestType::Awakeable(awakeable_request) => {
8482
this.handle_awakeable(req, awakeable_request).await
8583
}

0 commit comments

Comments
 (0)