diff --git a/src/lib.rs b/src/lib.rs index 6cda0da..e9dc5f7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -22,7 +22,7 @@ use tower_http::{ }; use tracing::Level; use utoipa::OpenApi; -use utoipa_swagger_ui::SwaggerUi; +use utoipa_swagger_ui::{Config, SwaggerUi}; const MAX_USERNAME_LENGTH: usize = 35; const MAX_ROOM_NAME_LENGTH: usize = 35; @@ -128,6 +128,9 @@ pub struct Cli { routes::ws::WsAuthQuery, ) ), + servers( + (url = "..", description = "Default Server") + ), modifiers(&SecurityAddon) )] pub struct ApiDoc; @@ -187,7 +190,11 @@ pub fn create_app( .allow_headers([header::AUTHORIZATION, header::CONTENT_TYPE]); let mut router = Router::new() - .merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", ApiDoc::openapi())) + .route( + "/api-docs/openapi.json", + get(|| async { Json(ApiDoc::openapi()) }), + ) + .merge(SwaggerUi::new("/swagger-ui").config(Config::from("../api-docs/openapi.json"))) .route("/version", get(get_version)) .merge(routes::users::routes()) .merge(routes::rooms::routes())