50 lines
2 KiB
Python
50 lines
2 KiB
Python
|
from typing import Dict, Union
|
||
|
|
||
|
from .reference import Reference
|
||
|
from .response import Response
|
||
|
|
||
|
Responses = Dict[str, Union[Response, Reference]]
|
||
|
"""
|
||
|
A container for the expected responses of an operation.
|
||
|
The container maps a HTTP response code to the expected response.
|
||
|
|
||
|
The documentation is not necessarily expected to cover all possible HTTP response codes
|
||
|
because they may not be known in advance.
|
||
|
However, documentation is expected to cover a successful operation response and any
|
||
|
known errors.
|
||
|
|
||
|
The `default` MAY be used as a default response object for all HTTP codes
|
||
|
that are not covered individually by the specification.
|
||
|
|
||
|
The `Responses Object` MUST contain at least one response code, and it
|
||
|
SHOULD be the response for a successful operation call.
|
||
|
"""
|
||
|
|
||
|
"""Fixed Fields"""
|
||
|
|
||
|
# default: Optional[Union[Response, Reference]]
|
||
|
"""
|
||
|
The documentation of responses other than the ones declared for specific HTTP response
|
||
|
codes. Use this field to cover undeclared responses.
|
||
|
A [Reference Object](#referenceObject) can link to a response
|
||
|
that the [OpenAPI Object's components/responses](#componentsResponses) section defines.
|
||
|
"""
|
||
|
|
||
|
"""Patterned Fields"""
|
||
|
# {httpStatusCode]: Optional[Union[Response, Reference]]
|
||
|
"""
|
||
|
Any [HTTP status code](#httpCodes) can be used as the property name,
|
||
|
but only one property per code, to describe the expected response for that HTTP status
|
||
|
code.
|
||
|
|
||
|
A [Reference Object](#referenceObject) can link to a response
|
||
|
that is defined in the [OpenAPI Object's components/responses](#componentsResponses)
|
||
|
section. This field MUST be enclosed in quotation marks (for example, "200") for
|
||
|
compatibility between JSON and YAML. To define a range of response codes, this field
|
||
|
MAY contain the uppercase wildcard character `X`. For example, `2XX` represents all
|
||
|
response codes between `[200-299]`. Only the following range definitions are allowed:
|
||
|
`1XX`, `2XX`, `3XX`, `4XX`, and `5XX`.
|
||
|
If a response is defined using an explicit code,
|
||
|
the explicit code definition takes precedence over the range definition for that code.
|
||
|
"""
|