Crate utoipa_swagger_ui
source · [−]Expand description
This crate implements necessary boiler plate code to serve Swagger UI via web server. It
works as a bridge for serving the OpenAPI documentation created with utoipa
library in the
Swagger UI.
Currently implemented boiler plate for:
- actix-web
version >= 4
- rocket
version >=0.5.0-rc.1
Serving Swagger UI is framework independent thus this crate also supports serving the Swagger UI with
other frameworks as well. With other frameworks there is bit more manual implementation to be done. See
more details at serve
or examples
.
Features
- actix-web Enables actix-web integration with pre-configured SwaggerUI service factory allowing users to use the Swagger UI without a hassle.
- rocket Enables rocket integration with with pre-configured routes for serving the Swagger UI and api doc without a hassle.
Install
Use only the raw types without any boiler plate implementation.
[dependencies]
utoipa-swagger-ui = "1"
Enable actix-web framework with Swagger UI you could define the dependency as follows.
[dependencies]
utoipa-swagger-ui = { version = "1", features = ["actix-web"] }
Note! Also remember that you already have defined utoipa
dependency in your Cargo.toml
Examples
Serve Swagger UI with api doc via actix-web. 1
HttpServer::new(move || {
App::new()
.service(
SwaggerUi::new("/swagger-ui/{_:.*}")
.url("/api-doc/openapi.json", ApiDoc::openapi()),
)
})
.bind((Ipv4Addr::UNSPECIFIED, 8989)).unwrap()
.run();
Serve Swagger UI with api doc via rocket 2
#[rocket::launch]
fn rocket() -> Rocket<Build> {
rocket::build()
.mount(
"/",
SwaggerUi::new("/swagger-ui/<_..>")
.url("/api-doc/openapi.json", ApiDoc::openapi()),
)
}
Modules
Implements Swagger UI oauth configuration options.
Structs
Object used to alter Swagger UI settings.
Represents servable file of Swagger UI. This is used together with serve
function
to serve Swagger UI files via web server.
Entry point for serving Swagger UI and api docs in application. It uses provides builder style chainable configuration methods for configuring api doc urls. In actix-web only 1
Rust type for Swagger UI url configuration object.
Functions
User friendly way to serve Swagger UI and its content via web server.