rocket_autodocu/request/
from_segments_impls.rs1use super::OpenApiFromSegments;
2use crate::gen::OpenApiGenerator;
3use autodocu::openapi3::{Object, Parameter, ParameterValue};
4use schemars::JsonSchema;
5
6type Result = crate::Result<Parameter>;
7
8impl<'r, T> OpenApiFromSegments<'r> for T
9where
10 T: rocket::request::FromSegments<'r> + JsonSchema,
11{
12 fn path_multi_parameter(gen: &mut OpenApiGenerator, name: String) -> Result {
13 let schema = gen.json_schema::<T>();
14 Ok(Parameter {
15 name,
16 location: "path".to_owned(),
17 description: None,
18 required: true,
19 deprecated: false,
20 allow_empty_value: false,
21 value: ParameterValue::Schema {
22 style: None,
23 explode: None,
24 allow_reserved: true,
25 schema,
26 example: None,
27 examples: None,
28 },
29 extensions: Object::default(),
30 })
31 }
32}