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 serde::Deserialize;
use salvo_oapi::{ToRequestBody, ToSchema, Components, Content, EndpointArgRegister, Operation, RequestBody };
#[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.