Opt-in blueprint: register it to serve the contract and its explorer.
The imperative half of the pair; @OpenApi() is the declarative one. Two routes appear,
/openapi.json and /docs, both configurable under stone.openapi. The server URL advertised by
the document is the host that answered the request, not a value frozen at build time, so the same
artefact documents itself correctly behind a local port, a load balancer or an API Gateway stage.
Opt-in blueprint: register it to serve the contract and its explorer.
The imperative half of the pair;
@OpenApi()is the declarative one. Two routes appear,/openapi.jsonand/docs, both configurable understone.openapi. The server URL advertised by the document is the host that answered the request, not a value frozen at build time, so the same artefact documents itself correctly behind a local port, a load balancer or an API Gateway stage.