跳至内容

OpenAPI models

用于生成和验证生成的 OpenAPI 的 OpenAPI Pydantic 模型。

fastapi.openapi.models

SchemaOrBool module-attribute

SchemaOrBool = Union[Schema, bool]

SecurityScheme module-attribute

SecurityScheme = Union[
    APIKey, HTTPBase, OAuth2, OpenIdConnect, HTTPBearer
]

BaseModelWithConfig

Bases: BaseModel

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

Config

extra class-attribute instance-attribute
extra = 'allow'

Contact

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

name class-attribute instance-attribute

name = None

url class-attribute instance-attribute

url = None

email class-attribute instance-attribute

email = None

Config

extra class-attribute instance-attribute
extra = 'allow'

License

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

name instance-attribute

name

identifier class-attribute instance-attribute

identifier = None

url class-attribute instance-attribute

url = None

Config

extra 类属性 实例属性
extra = 'allow'

Info

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

title 实例属性

title

summary 类属性 实例属性

summary = None

description 类属性 实例属性

description = None

termsOfService 类属性 实例属性

termsOfService = None

contact 类属性 实例属性

contact = None

license 类属性 实例属性

license = None

version 实例属性

version

Config

extra 类属性 实例属性
extra = 'allow'

ServerVariable

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

enum 类属性 实例属性

enum = None

default 实例属性

default

description 类属性 实例属性

description = None

Config

extra 类属性 实例属性
extra = 'allow'

Server

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

url 实例属性

url

description 类属性 实例属性

description = None

variables 类属性 实例属性

variables = None

Config

extra 类属性 实例属性
extra = 'allow'

Reference

Bases: BaseModel

ref 类属性 实例属性

ref = Field(alias='$ref')

Discriminator

Bases: BaseModel

propertyName 实例属性

propertyName

mapping 类属性 实例属性

mapping = None

XML

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

name 类属性 实例属性

name = None

namespace 类属性 实例属性

namespace = None

prefix 类属性 实例属性

prefix = None

attribute 类属性 实例属性

attribute = None

wrapped 类属性 实例属性

wrapped = None

Config

extra 类属性 实例属性
extra = 'allow'

ExternalDocumentation

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

description 类属性 实例属性

description = None

url 实例属性

url

Config

extra 类属性 实例属性
extra = 'allow'

Schema

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

schema_ 类属性 实例属性

schema_ = Field(default=None, alias='$schema')

vocabulary 类属性 实例属性

vocabulary = Field(default=None, alias='$vocabulary')

id 类属性 实例属性

id = Field(default=None, alias='$id')

anchor 类属性 实例属性

anchor = Field(default=None, alias='$anchor')

dynamicAnchor 类属性 实例属性

dynamicAnchor = Field(default=None, alias='$dynamicAnchor')

ref 类属性 实例属性

ref = Field(default=None, alias='$ref')

dynamicRef 类属性 实例属性

dynamicRef = Field(default=None, alias='$dynamicRef')

defs 类属性 实例属性

defs = Field(default=None, alias='$defs')

comment 类属性 实例属性

comment = Field(default=None, alias='$comment')

allOf 类属性 实例属性

allOf = None

anyOf 类属性 实例属性

anyOf = None

oneOf 类属性 实例属性

oneOf = None

not_ 类属性 实例属性

not_ = Field(default=None, alias='not')

if_ 类属性 实例属性

if_ = Field(default=None, alias='if')

then 类属性 实例属性

then = None

else_ 类属性 实例属性

else_ = Field(default=None, alias='else')

dependentSchemas 类属性 实例属性

dependentSchemas = None

prefixItems 类属性 实例属性

prefixItems = None

items 类属性 实例属性

items = None

contains 类属性 实例属性

contains = None

properties 类属性 实例属性

properties = None

patternProperties 类属性 实例属性

patternProperties = None

additionalProperties 类属性 实例属性

additionalProperties = None

propertyNames 类属性 实例属性

propertyNames = None

unevaluatedItems 类属性 实例属性

unevaluatedItems = None

unevaluatedProperties 类属性 实例属性

unevaluatedProperties = None

type 类属性 实例属性

type = None

enum 类属性 实例属性

enum = None

const 类属性 实例属性

const = None

multipleOf 类属性 实例属性

multipleOf = Field(default=None, gt=0)

maximum 类属性 实例属性

maximum = None

exclusiveMaximum 类属性 实例属性

exclusiveMaximum = None

minimum class-attribute instance-attribute

minimum = None

exclusiveMinimum class-attribute instance-attribute

exclusiveMinimum = None

maxLength class-attribute instance-attribute

maxLength = Field(default=None, ge=0)

minLength class-attribute instance-attribute

minLength = Field(default=None, ge=0)

pattern class-attribute instance-attribute

pattern = None

maxItems class-attribute instance-attribute

maxItems = Field(default=None, ge=0)

minItems class-attribute instance-attribute

minItems = Field(default=None, ge=0)

uniqueItems class-attribute instance-attribute

uniqueItems = None

maxContains class-attribute instance-attribute

maxContains = Field(default=None, ge=0)

minContains class-attribute instance-attribute

minContains = Field(default=None, ge=0)

maxProperties class-attribute instance-attribute

maxProperties = Field(default=None, ge=0)

minProperties class-attribute instance-attribute

minProperties = Field(default=None, ge=0)

required class-attribute instance-attribute

required = None

dependentRequired class-attribute instance-attribute

dependentRequired = None

format class-attribute instance-attribute

format = None

contentEncoding class-attribute instance-attribute

contentEncoding = None

contentMediaType class-attribute instance-attribute

contentMediaType = None

contentSchema class-attribute instance-attribute

contentSchema = None

title class-attribute instance-attribute

title = None

description class-attribute instance-attribute

description = None

default class-attribute instance-attribute

default = None

deprecated class-attribute instance-attribute

deprecated = None

readOnly class-attribute instance-attribute

readOnly = None

writeOnly class-attribute instance-attribute

writeOnly = None

examples class-attribute instance-attribute

examples = None

discriminator class-attribute instance-attribute

discriminator = None

xml class-attribute instance-attribute

xml = None

externalDocs class-attribute instance-attribute

externalDocs = None

example class-attribute instance-attribute

example = None
在 OpenAPI 3.1.0 中已弃用,该版本现在使用 JSON Schema 2020-12,但仍然支持。 请使用 examples 代替。

Config

extra class-attribute instance-attribute
extra = 'allow'

Example

Bases: TypedDict

summary instance-attribute

summary

description instance-attribute

description

value instance-attribute

value

externalValue instance-attribute

externalValue

Config

extra class-attribute instance-attribute
extra = 'allow'

ParameterInType

Bases: Enum

query class-attribute instance-attribute

query = 'query'

header class-attribute instance-attribute

header = 'header'

path class-attribute instance-attribute

path = 'path'

cookie class-attribute instance-attribute

cookie = 'cookie'

编码

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

contentType class-attribute instance-attribute

contentType = None

headers class-attribute instance-attribute

headers = None

style class-attribute instance-attribute

style = None

explode class-attribute instance-attribute

explode = None

allowReserved class-attribute instance-attribute

allowReserved = None

配置

extra class-attribute instance-attribute
extra = 'allow'

媒体类型

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

schema_ class-attribute instance-attribute

schema_ = Field(default=None, alias='schema')

example class-attribute instance-attribute

example = None

examples class-attribute instance-attribute

examples = None

encoding class-attribute instance-attribute

encoding = None

配置

extra class-attribute instance-attribute
extra = 'allow'

参数基础类

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description = None

required class-attribute instance-attribute

required = None

deprecated class-attribute instance-attribute

deprecated = None

style class-attribute instance-attribute

style = None

explode class-attribute instance-attribute

explode = None

allowReserved class-attribute instance-attribute

allowReserved = None

schema_ class-attribute instance-attribute

schema_ = Field(default=None, alias='schema')

example class-attribute instance-attribute

example = None

examples class-attribute instance-attribute

examples = None

content class-attribute instance-attribute

content = None

Config

extra class-attribute instance-attribute
extra = 'allow'

Parameter

Bases: ParameterBase

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description class-attribute instance-attribute

description = None

required class-attribute instance-attribute

required = None

deprecated class-attribute instance-attribute

deprecated = None

style class-attribute instance-attribute

style = None

explode class-attribute instance-attribute

explode = None

allowReserved class-attribute instance-attribute

allowReserved = None

schema_ class-attribute instance-attribute

schema_ = Field(default=None, alias='schema')

example class-attribute instance-attribute

example = None

examples class-attribute instance-attribute

examples = None

content class-attribute instance-attribute

content = None

name instance-attribute

name

in_ class-attribute instance-attribute

in_ = Field(alias='in')

Config

extra class-attribute instance-attribute
extra = 'allow'

Header

Bases: ParameterBase

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description class-attribute instance-attribute

description = None

required class-attribute instance-attribute

required = None

deprecated class-attribute instance-attribute

deprecated = None

style class-attribute instance-attribute

style = None

explode class-attribute instance-attribute

explode = None

allowReserved class-attribute instance-attribute

allowReserved = None

schema_ class-attribute instance-attribute

schema_ = Field(default=None, alias='schema')

example class-attribute instance-attribute

example = None

examples class-attribute instance-attribute

examples = None

content class-attribute instance-attribute

content = None

Config

extra class-attribute instance-attribute
extra = 'allow'

RequestBody

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description class-attribute instance-attribute

description = None

content instance-attribute

content

required class-attribute instance-attribute

required = None

Config

extra class-attribute instance-attribute
extra = 'allow'

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

operationRef class-attribute instance-attribute

operationRef = None

operationId class-attribute instance-attribute

operationId = None

parameters class-attribute instance-attribute

parameters = None

requestBody class-attribute instance-attribute

requestBody = None

description class-attribute instance-attribute

description = None

server class-attribute instance-attribute

server = None

Config

extra class-attribute instance-attribute
extra = 'allow'

Response

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description instance-attribute

description

headers class-attribute instance-attribute

headers = None

content class-attribute instance-attribute

content = None
links = None

Config

extra class-attribute instance-attribute
extra = 'allow'

Operation

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

tags class-attribute instance-attribute

tags = None

summary class-attribute instance-attribute

summary = None

description class-attribute instance-attribute

description = None

externalDocs class-attribute instance-attribute

externalDocs = None

operationId class-attribute instance-attribute

operationId = None

parameters class-attribute instance-attribute

parameters = None

requestBody class-attribute instance-attribute

requestBody = None

responses class-attribute instance-attribute

responses = None

callbacks class-attribute instance-attribute

callbacks = None

deprecated class-attribute instance-attribute

deprecated = None

security class-attribute instance-attribute

security = None

servers class-attribute instance-attribute

servers = None

Config

extra class-attribute instance-attribute
extra = 'allow'

PathItem

Bases: BaseModelWithConfig

model_config = {'extra': 'allow'}

ref class-attribute instance-attribute

ref = Field(default=None, alias='$ref')

summary class-attribute instance-attribute

summary = None

description class-attribute instance-attribute

description = None

get class-attribute instance-attribute

get = None

put class-attribute instance-attribute

put = None

post class-attribute instance-attribute

post = None

delete class-attribute instance-attribute

delete = None

options class-attribute instance-attribute

options = None

head class-attribute instance-attribute

head = None

patch class-attribute instance-attribute

patch = None

trace class-attribute instance-attribute

trace = None

servers class-attribute instance-attribute

servers = None

parameters class-attribute instance-attribute

parameters = None

Config

extra class-attribute instance-attribute
extra = 'allow'

SecuritySchemeType

Bases: Enum

apiKey class-attribute instance-attribute

apiKey = 'apiKey'

http class-attribute instance-attribute

http = 'http'

oauth2 class-attribute instance-attribute

oauth2 = 'oauth2'

openIdConnect class-attribute instance-attribute

openIdConnect = 'openIdConnect'

SecurityBase

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

type_ class-attribute instance-attribute

type_ = Field(alias='type')

description class-attribute instance-attribute

description = None

Config

extra class-attribute instance-attribute
extra = 'allow'

APIKeyIn

Bases: Enum

query class-attribute instance-attribute

query = 'query'

header class-attribute instance-attribute

header = 'header'

cookie class-attribute instance-attribute

cookie = 'cookie'

APIKey

Bases: SecurityBase

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description class-attribute instance-attribute

description = None

type_ class-attribute instance-attribute

type_ = Field(default=apiKey, alias='type')

in_ class-attribute instance-attribute

in_ = Field(alias='in')

name instance-attribute

name

Config

extra class-attribute instance-attribute
extra = 'allow'

HTTPBase

Bases: SecurityBase

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

description class-attribute instance-attribute

description = None

type_ class-attribute instance-attribute

type_ = Field(default=http, alias='type')

scheme instance-attribute

scheme

Config

extra class-attribute instance-attribute
extra = 'allow'

HTTPBearer

Bases: HTTPBase

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

type_ class-attribute instance-attribute

type_ = Field(default=http, alias='type')

description class-attribute instance-attribute

description = None

scheme class-attribute instance-attribute

scheme = 'bearer'

bearerFormat class-attribute instance-attribute

bearerFormat = None

Config

extra class-attribute instance-attribute
extra = 'allow'

OAuthFlow

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

refreshUrl class-attribute instance-attribute

refreshUrl = None

scopes class-attribute instance-attribute

scopes = {}

Config

extra class-attribute instance-attribute
extra = 'allow'

OAuthFlowImplicit

Bases: OAuthFlow

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

refreshUrl 类属性 实例属性

refreshUrl = None

scopes 类属性 实例属性

scopes = {}

authorizationUrl 实例属性

authorizationUrl

Config

extra 类属性 实例属性
extra = 'allow'

OAuthFlowPassword

Bases: OAuthFlow

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

refreshUrl 类属性 实例属性

refreshUrl = None

scopes 类属性 实例属性

scopes = {}

tokenUrl 实例属性

tokenUrl

Config

extra 类属性 实例属性
extra = 'allow'

OAuthFlowClientCredentials

Bases: OAuthFlow

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

refreshUrl 类属性 实例属性

refreshUrl = None

scopes 类属性 实例属性

scopes = {}

tokenUrl 实例属性

tokenUrl

Config

extra 类属性 实例属性
extra = 'allow'

OAuthFlowAuthorizationCode

Bases: OAuthFlow

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

refreshUrl 类属性 实例属性

refreshUrl = None

scopes 类属性 实例属性

scopes = {}

authorizationUrl 实例属性

authorizationUrl

tokenUrl 实例属性

tokenUrl

Config

extra 类属性 实例属性
extra = 'allow'

OAuthFlows

Bases: BaseModelWithConfig

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

implicit 类属性 实例属性

implicit = None

password 类属性 实例属性

password = None

clientCredentials 类属性 实例属性

clientCredentials = None

authorizationCode 类属性 实例属性

authorizationCode = None

Config

extra 类属性 实例属性
extra = 'allow'

OAuth2

Bases: SecurityBase

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

description 类属性 实例属性

description = None

type_ 类属性 实例属性

type_ = Field(default=oauth2, alias='type')

flows 实例属性

flows

Config

extra 类属性 实例属性
extra = 'allow'

OpenIdConnect

Bases: SecurityBase

model_config 类属性 实例属性

model_config = {'extra': 'allow'}

description class-attribute instance-attribute

description = None

type_ class-attribute instance-attribute

type_ = Field(default=openIdConnect, alias='type')

openIdConnectUrl instance-attribute

openIdConnectUrl

Config

extra class-attribute instance-attribute
extra = 'allow'

Components

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

schemas class-attribute instance-attribute

schemas = None

responses class-attribute instance-attribute

responses = None

parameters class-attribute instance-attribute

parameters = None

examples class-attribute instance-attribute

examples = None

requestBodies class-attribute instance-attribute

requestBodies = None

headers class-attribute instance-attribute

headers = None

securitySchemes class-attribute instance-attribute

securitySchemes = None
links = None

callbacks class-attribute instance-attribute

callbacks = None

pathItems class-attribute instance-attribute

pathItems = None

Config

extra class-attribute instance-attribute
extra = 'allow'

Tag

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

name instance-attribute

name

description class-attribute instance-attribute

description = None

externalDocs class-attribute instance-attribute

externalDocs = None

Config

extra class-attribute instance-attribute
extra = 'allow'

OpenAPI

Bases: BaseModelWithConfig

model_config class-attribute instance-attribute

model_config = {'extra': 'allow'}

openapi instance-attribute

openapi

info instance-attribute

info

jsonSchemaDialect class-attribute instance-attribute

jsonSchemaDialect = None

servers class-attribute instance-attribute

servers = None

paths class-attribute instance-attribute

paths = None

webhooks class-attribute instance-attribute

webhooks = None

components class-attribute instance-attribute

components = None

security class-attribute instance-attribute

security = None

tags class-attribute instance-attribute

tags = None

externalDocs class-attribute instance-attribute

externalDocs = None

Config

extra class-attribute instance-attribute
extra = 'allow'