OpenApiSpex.Discriminator (open_api_spex v3.21.3)

View Source

Defines the OpenApiSpex.Discriminator.t type.

Summary

Functions

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

Types

t()

@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

resolve(map, value, schemas)

@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.