openapi_31/v31/
parameter.rs1use super::reference::Resolve;
10use crate::v31;
11
12#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
13pub struct Parameter {
14 #[serde(rename = "name")]
15 pub name: String,
16 #[serde(rename = "in")]
17 pub r#in: In,
18 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
19 pub description: Option<String>,
20 #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
21 pub required: Option<bool>,
22 #[serde(rename = "deprecated", skip_serializing_if = "Option::is_none")]
23 pub deprecated: Option<bool>,
24 #[serde(rename = "schema", default, skip_serializing_if = "Option::is_none")]
25 pub schema: Option<serde_json::Value>,
26 #[serde(rename = "content", skip_serializing_if = "Option::is_none")]
27 pub content: Option<std::collections::BTreeMap<String, v31::MediaType>>,
28}
29
30impl Parameter {
31 pub fn new(name: String, r#in: In) -> Parameter {
32 Parameter { name, r#in, description: None, required: None, deprecated: None, schema: None, content: None }
33 }
34}
35
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
37pub enum In {
38 #[serde(rename = "query")]
39 Query,
40 #[serde(rename = "header")]
41 Header,
42 #[serde(rename = "path")]
43 Path,
44 #[serde(rename = "cookie")]
45 Cookie,
46}
47
48impl Default for In {
49 fn default() -> In {
50 Self::Query
51 }
52}