rocket_autodocu/request/
from_segments_impls.rs

1use 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}