同步操作将从 Gitee 极速下载/FastAPI 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
openapi_examples in all FastAPI parameters (#10152)
import warningsfrom enum import Enumfrom typing import Any, Callable, Dict, List, Optional, Sequence, Unionfrom fastapi.openapi.models import Examplefrom pydantic.fields import FieldInfofrom typing_extensions import Annotated, deprecatedfrom ._compat import PYDANTIC_V2, Undefined_Unset: Any = Undefinedclass ParamTypes(Enum):query = "query"header = "header"path = "path"cookie = "cookie"class Param(FieldInfo):in_: ParamTypesdef __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):self.deprecated = deprecatedif example is not _Unset:warnings.warn("`example` has been deprecated, please use `examples` instead",category=DeprecationWarning,stacklevel=4,)self.example = exampleself.include_in_schema = include_in_schemaself.openapi_examples = openapi_exampleskwargs = dict(default=default,default_factory=default_factory,alias=alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,discriminator=discriminator,multiple_of=multiple_of,allow_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,**extra,)if examples is not None:kwargs["examples"] = examplesif regex is not None:warnings.warn("`regex` has been deprecated, please use `pattern` instead",category=DeprecationWarning,stacklevel=4,)current_json_schema_extra = json_schema_extra or extraif PYDANTIC_V2:kwargs.update({"annotation": annotation,"alias_priority": alias_priority,"validation_alias": validation_alias,"serialization_alias": serialization_alias,"strict": strict,"json_schema_extra": current_json_schema_extra,})kwargs["pattern"] = pattern or regexelse:kwargs["regex"] = pattern or regexkwargs.update(**current_json_schema_extra)use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset}super().__init__(**use_kwargs)def __repr__(self) -> str:return f"{self.__class__.__name__}({self.default})"class Path(Param):in_ = ParamTypes.pathdef __init__(self,default: Any = ...,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):assert default is ..., "Path parameters cannot have a default value"self.in_ = self.in_super().__init__(default=default,default_factory=default_factory,annotation=annotation,alias=alias,alias_priority=alias_priority,validation_alias=validation_alias,serialization_alias=serialization_alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,pattern=pattern,regex=regex,discriminator=discriminator,strict=strict,multiple_of=multiple_of,allow_inf_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,deprecated=deprecated,example=example,examples=examples,openapi_examples=openapi_examples,include_in_schema=include_in_schema,json_schema_extra=json_schema_extra,**extra,)class Query(Param):in_ = ParamTypes.querydef __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):super().__init__(default=default,default_factory=default_factory,annotation=annotation,alias=alias,alias_priority=alias_priority,validation_alias=validation_alias,serialization_alias=serialization_alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,pattern=pattern,regex=regex,discriminator=discriminator,strict=strict,multiple_of=multiple_of,allow_inf_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,deprecated=deprecated,example=example,examples=examples,openapi_examples=openapi_examples,include_in_schema=include_in_schema,json_schema_extra=json_schema_extra,**extra,)class Header(Param):in_ = ParamTypes.headerdef __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,convert_underscores: bool = True,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):self.convert_underscores = convert_underscoressuper().__init__(default=default,default_factory=default_factory,annotation=annotation,alias=alias,alias_priority=alias_priority,validation_alias=validation_alias,serialization_alias=serialization_alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,pattern=pattern,regex=regex,discriminator=discriminator,strict=strict,multiple_of=multiple_of,allow_inf_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,deprecated=deprecated,example=example,examples=examples,openapi_examples=openapi_examples,include_in_schema=include_in_schema,json_schema_extra=json_schema_extra,**extra,)class Cookie(Param):in_ = ParamTypes.cookiedef __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):super().__init__(default=default,default_factory=default_factory,annotation=annotation,alias=alias,alias_priority=alias_priority,validation_alias=validation_alias,serialization_alias=serialization_alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,pattern=pattern,regex=regex,discriminator=discriminator,strict=strict,multiple_of=multiple_of,allow_inf_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,deprecated=deprecated,example=example,examples=examples,openapi_examples=openapi_examples,include_in_schema=include_in_schema,json_schema_extra=json_schema_extra,**extra,)class Body(FieldInfo):def __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,embed: bool = False,media_type: str = "application/json",alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):self.embed = embedself.media_type = media_typeself.deprecated = deprecatedif example is not _Unset:warnings.warn("`example` has been deprecated, please use `examples` instead",category=DeprecationWarning,stacklevel=4,)self.example = exampleself.include_in_schema = include_in_schemaself.openapi_examples = openapi_exampleskwargs = dict(default=default,default_factory=default_factory,alias=alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,discriminator=discriminator,multiple_of=multiple_of,allow_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,**extra,)if examples is not None:kwargs["examples"] = examplesif regex is not None:warnings.warn("`regex` has been depreacated, please use `pattern` instead",category=DeprecationWarning,stacklevel=4,)current_json_schema_extra = json_schema_extra or extraif PYDANTIC_V2:kwargs.update({"annotation": annotation,"alias_priority": alias_priority,"validation_alias": validation_alias,"serialization_alias": serialization_alias,"strict": strict,"json_schema_extra": current_json_schema_extra,})kwargs["pattern"] = pattern or regexelse:kwargs["regex"] = pattern or regexkwargs.update(**current_json_schema_extra)use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset}super().__init__(**use_kwargs)def __repr__(self) -> str:return f"{self.__class__.__name__}({self.default})"class Form(Body):def __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,media_type: str = "application/x-www-form-urlencoded",alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):super().__init__(default=default,default_factory=default_factory,annotation=annotation,embed=True,media_type=media_type,alias=alias,alias_priority=alias_priority,validation_alias=validation_alias,serialization_alias=serialization_alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,pattern=pattern,regex=regex,discriminator=discriminator,strict=strict,multiple_of=multiple_of,allow_inf_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,deprecated=deprecated,example=example,examples=examples,openapi_examples=openapi_examples,include_in_schema=include_in_schema,json_schema_extra=json_schema_extra,**extra,)class File(Form):def __init__(self,default: Any = Undefined,*,default_factory: Union[Callable[[], Any], None] = _Unset,annotation: Optional[Any] = None,media_type: str = "multipart/form-data",alias: Optional[str] = None,alias_priority: Union[int, None] = _Unset,# TODO: update when deprecating Pydantic v1, import these types# validation_alias: str | AliasPath | AliasChoices | Nonevalidation_alias: Union[str, None] = None,serialization_alias: Union[str, None] = None,title: Optional[str] = None,description: Optional[str] = None,gt: Optional[float] = None,ge: Optional[float] = None,lt: Optional[float] = None,le: Optional[float] = None,min_length: Optional[int] = None,max_length: Optional[int] = None,pattern: Optional[str] = None,regex: Annotated[Optional[str],deprecated("Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."),] = None,discriminator: Union[str, None] = None,strict: Union[bool, None] = _Unset,multiple_of: Union[float, None] = _Unset,allow_inf_nan: Union[bool, None] = _Unset,max_digits: Union[int, None] = _Unset,decimal_places: Union[int, None] = _Unset,examples: Optional[List[Any]] = None,example: Annotated[Optional[Any],deprecated("Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, ""although still supported. Use examples instead."),] = _Unset,openapi_examples: Optional[Dict[str, Example]] = None,deprecated: Optional[bool] = None,include_in_schema: bool = True,json_schema_extra: Union[Dict[str, Any], None] = None,**extra: Any,):super().__init__(default=default,default_factory=default_factory,annotation=annotation,media_type=media_type,alias=alias,alias_priority=alias_priority,validation_alias=validation_alias,serialization_alias=serialization_alias,title=title,description=description,gt=gt,ge=ge,lt=lt,le=le,min_length=min_length,max_length=max_length,pattern=pattern,regex=regex,discriminator=discriminator,strict=strict,multiple_of=multiple_of,allow_inf_nan=allow_inf_nan,max_digits=max_digits,decimal_places=decimal_places,deprecated=deprecated,example=example,examples=examples,openapi_examples=openapi_examples,include_in_schema=include_in_schema,json_schema_extra=json_schema_extra,**extra,)class Depends:def __init__(self, dependency: Optional[Callable[..., Any]] = None, *, use_cache: bool = True):self.dependency = dependencyself.use_cache = use_cachedef __repr__(self) -> str:attr = getattr(self.dependency, "__name__", type(self.dependency).__name__)cache = "" if self.use_cache else ", use_cache=False"return f"{self.__class__.__name__}({attr}{cache})"class Security(Depends):def __init__(self,dependency: Optional[Callable[..., Any]] = None,*,scopes: Optional[Sequence[str]] = None,use_cache: bool = True,):super().__init__(dependency=dependency, use_cache=use_cache)self.scopes = scopes or []
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。