Crates.io | swagger-ui-dist |
lib.rs | swagger-ui-dist |
version | 5.17.14 |
source | src |
created_at | 2024-05-19 19:49:27.436938 |
updated_at | 2024-05-28 16:37:20.160557 |
description | packages the JS/CSS code of the swagger-ui in the form of axum routes |
homepage | |
repository | https://github.com/apimeister/swagger-ui-dist-rs/ |
max_upload_size | |
id | 1245175 |
size | 3,850,506 |
The version number reflects the swagger-ui version embedded.
use axum::Router;
use swagger_ui_dist::{ApiDefinition, OpenApiSource};
#[tokio::main]
async fn main() {
let api_def = ApiDefinition {
uri_prefix: "/api",
api_definition: OpenApiSource::Inline(include_str!("petstore.yaml")),
title: Some("My Super Duper API"),
};
let app = Router::new().merge(swagger_ui_dist::generate_routes(api_def));
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
println!("listening on http://localhost:3000/api");
axum::serve(listener, app).await.unwrap();
}
use axum::{routing::get, Router};
use swagger_ui_dist::{ApiDefinition, OpenApiSource};
#[tokio::main]
async fn main() {
let api_def = ApiDefinition {
uri_prefix: "/api",
api_definition: OpenApiSource::Uri("/openapi.yml"),
title: Some("My Super Duper API"),
};
let app = Router::new()
.route("/openapi.yml", get(|| async move { include_str!("petstore.yaml") }))
.merge(swagger_ui_dist::generate_routes(api_def));
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
println!("listening on http://localhost:3000/api");
axum::serve(listener, app).await.unwrap();
}