Source code for litestar.openapi.spec.media_type
from __future__ import annotations
from dataclasses import dataclass
from typing import TYPE_CHECKING, Any
from litestar.openapi.spec.base import BaseSchemaObject
if TYPE_CHECKING:
from litestar.openapi.spec.encoding import Encoding
from litestar.openapi.spec.example import Example
from litestar.openapi.spec.reference import Reference
from litestar.openapi.spec.schema import Schema
__all__ = ("OpenAPIMediaType",)
[docs]
@dataclass
class OpenAPIMediaType(BaseSchemaObject):
"""Each Media Type Object provides schema and examples for the media type identified by its key."""
schema: Reference | Schema | None = None
"""The schema defining the content of the request, response, or parameter."""
example: Any | None = None
"""Example of the media type.
The example object SHOULD be in the correct format as specified by the media type.
The ``example`` field is mutually exclusive of the ``examples`` field.
Furthermore, if referencing a ``schema`` which contains an example, the ``example`` value SHALL _override_ the
example provided by the schema.
"""
examples: dict[str, Example | Reference] | None = None
"""Examples of the media type.
Each example object SHOULD match the media type and specified schema if present.
The ``examples`` field is mutually exclusive of the ``example`` field.
Furthermore, if referencing a ``schema`` which contains an example, the ``examples`` value SHALL _override_ the
example provided by the schema.
"""
encoding: dict[str, Encoding] | None = None
"""A map between a property name and its encoding information.
The key, being the property name, MUST exist in the schema as a property. The encoding object SHALL only apply to
``requestBody`` objects when the media type is ``multipart`` or ``application/x-www-form-urlencoded``.
"""