mirror of
https://github.com/swift-server/swift-openapi-vapor.git
synced 2026-05-03 07:12:27 +00:00
remove-swift-dependencies-from-tutorial
Swift OpenAPI Vapor
This package provides Vapor Bindings for the OpenAPI generator.
Usage
In entrypoint.swift add:
// Create a Vapor OpenAPI Transport using your application.
let transport = VaporTransport(routesBuilder: app)
// Create an instance of your handler type that conforms the generated protocol
// defining your service API.
let handler = MyServiceAPIImpl()
// Call the generated function on your implementation to add its request
// handlers to the app.
try handler.registerHandlers(on: transport)
Documentation
To get started, check out the full documentation, which contains step-by-step tutorials!
Additionally, see the request injection tutorial to learn how to inject Request into APIProtocol:
struct CurrentContext {
@TaskLocal
static var request: Request? = nil
}
struct MyAPIProtocolImpl: APIProtocol {
func myOpenAPIEndpointFunction() async throws -> Operations.myOperation.Output {
/// Use `request` as if this is a normal Vapor endpoint function
CurrentContext.request?.logger.notice(
"Got a request!",
metadata: [
"request": .stringConvertible(CurrentContext.request)
]
)
}
}
Description
Languages
Swift
100%