pub trait ToRequestBody {
// Required method
fn to_request_body(components: &mut Components) -> RequestBody;
}Expand description
This trait is implemented to document a type (like an enum) which can represent request body, to be used in operation.
§Examples
use std::collections::BTreeMap;
use salvo_oapi::{
Components, Content, EndpointArgRegister, Operation, RequestBody, ToRequestBody, ToSchema,
};
use serde::Deserialize;
#[derive(ToSchema, Deserialize, Debug)]
struct MyPayload {
name: String,
}
impl ToRequestBody for MyPayload {
fn to_request_body(components: &mut Components) -> RequestBody {
RequestBody::new().add_content(
"application/json",
Content::new(MyPayload::to_schema(components)),
)
}
}
impl EndpointArgRegister for MyPayload {
fn register(components: &mut Components, operation: &mut Operation, _arg: &str) {
operation.request_body = Some(Self::to_request_body(components));
}
}Required Methods§
Sourcefn to_request_body(components: &mut Components) -> RequestBody
fn to_request_body(components: &mut Components) -> RequestBody
Returns RequestBody.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.