actix-swagger
actix-swagger copied to clipboard
Generate path with `Answer`
pub mod session_get {
use super::responses;
use actix_swagger::ContentType;
use actix_web::http::StatusCode;
use serde::Serialize;
pub type Answer = actix_swagger::Answer<'static, Response>;
#[derive(Debug, Serialize)]
#[serde(untagged)]
pub enum Response {
Ok(responses::SessionGetSuccess),
Unauthorized,
Unexpected,
}
impl Response {
#[inline]
pub fn into_answer<'a>(self) -> Answer {
let status = match self {
Self::Ok(_) => StatusCode::OK,
Self::Unauthorized => StatusCode::UNAUTHORIZED,
Self::Unexpected => StatusCode::INTERNAL_SERVER_ERROR,
};
let content_type = match self {
Self::Ok(_) => Some(ContentType::Json),
Self::Unauthorized => None,
Self::Unexpected => None,
};
Answer::new(self).status(status).content_type(content_type)
}
}
}
maybe remove 'static from actix_swagger::Answer ?