1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; #[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)] pub struct Example { /// Short description for the example. #[serde(skip_serializing_if = "Option::is_none")] pub summary: Option<String>, /// Long description for the example. /// CommonMark syntax MAY be used for rich text representation. #[serde(skip_serializing_if = "Option::is_none")] pub description: Option<String>, /// Embedded literal example. The `value` field and `externalValue` /// field are mutually exclusive. To represent examples of /// media types that cannot naturally represented in JSON or YAML, /// use a string value to contain the example, escaping where necessary. #[serde(skip_serializing_if = "Option::is_none")] pub value: Option<serde_json::Value>, /// A URL that points to the literal example. /// This provides the capability to reference examples that cannot /// easily be included in JSON or YAML documents. The `value` field and /// `externalValue` field are mutually exclusive. #[serde(rename = "externalValue")] #[serde(skip_serializing_if = "Option::is_none")] pub external_value: Option<String>, /// Inline extensions to this object. #[serde(flatten)] pub extensions: BTreeMap<String, serde_json::Value>, }