openapi_31/v31/
parameter.rs

1// OpenAPI v3.1.0 Specification
2//
3// OpenAPI inside OpenAPI
4//
5// The version of the OpenAPI document: 3.1.0
6//
7// Generated by: https://openapi-generator.tech
8
9use 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}