routes/mod.rs
pub mod users;
pub mod posts;
use rocket::{Route};
use rocket_okapi::{openapi_get_routes};
use rocket_okapi::swagger_ui::{make_swagger_ui, SwaggerUIConfig};
use rocket_okapi::rapidoc::{make_rapidoc, RapiDocConfig, GeneralConfig, HideShowConfig};
use rocket_okapi::settings::UrlObject;
pub fn get_routes() -> Vec<rocket::Route> {
let mut routes = Vec::new();
routes.extend(users::user_routes());
routes.extend(posts::post_routes());
routes
}
pub fn openapi_routes() -> Vec<rocket::Route> {
openapi_get_routes![
users::user_routes(),
posts::post_routes()
]
}
pub fn swagger_ui() -> Vec<rocket::Route> {
make_swagger_ui(&SwaggerUIConfig {
url: "../openapi.json".to_owned(),
..Default::default()
}).into()
}
pub fn rapidoc() -> Vec<rocket::Route> {
make_rapidoc(&RapiDocConfig {
general: GeneralConfig {
spec_urls: vec![UrlObject::new("General", "../openapi.json")],
..Default::default()
},
hide_show: HideShowConfig {
allow_spec_url_load: false,
allow_spec_file_load: false,
..Default::default()
},
..Default::default()
}).into()
}