View Source OpenApiSpex.Discriminator (open_api_spex v3.21.0)

Defines the OpenApiSpex.Discriminator.t type.

Summary

Functions

Resolve the schema that should be used to cast/validate a value using a Discriminator.

Types

@type t() :: %OpenApiSpex.Discriminator{
  extensions: %{required(String.t()) => any()} | nil,
  mapping: %{required(String.t()) => String.t()} | nil,
  propertyName: String.t()
}

Discriminator Object

When request bodies or response payloads may be one of a number of different schemas, a discriminator object can be used to aid in serialization, deserialization, and validation. The discriminator is a specific object in a schema which is used to inform the consumer of the specification of an alternative schema based on the value associated with it.

Functions

Link to this function

resolve(map, value, schemas)

View Source
@spec resolve(t(), map(), %{required(String.t()) => OpenApiSpex.Schema.t()}) ::
  {:ok, OpenApiSpex.Schema.t()} | {:error, String.t()}

Resolve the schema that should be used to cast/validate a value using a Discriminator.