pub struct ResolvedDiscriminator {
pub property_name: String,
pub mapping: IndexMap<String, NestedSchema>,
pub extensions: IndexMap<String, Value>,
}Expand description
Discriminator with every mapping value replaced by the schema it named.
A mapping value is either a $ref or a bare schema name. A value
containing # is followed as a $ref (#/components/schemas/Cat, or a
reference into another document, which fails exactly as the equivalent
$ref would); any other value is the name of a schema under
#/components/schemas, looked up as written.
On a oneOf or anyOf schema every mapping value must name one of the
alternatives, and the entry is that alternative’s very edge; a value that
names any other schema fails with
ResolveError::DiscriminatorMappingMismatch. Inline alternatives cannot
be named, as the specification says. A schema that is not a oneOf or
anyOf (the allOf inheritance pattern, where the mapping lives on the
parent) has no alternatives to check against, so its mapping values are
resolved like any other $ref. Entries are resolved in document order,
and the first one that fails is the error reported.
Fields§
§property_name: String§mapping: IndexMap<String, NestedSchema>§extensions: IndexMap<String, Value>