mirror of https://github.com/tiangolo/fastapi.git
deepObject - v1 compat glue
This commit is contained in:
parent
8a9e738008
commit
fc509bdc15
|
|
@ -1,5 +1,5 @@
|
|||
import dataclasses
|
||||
import collections
|
||||
import dataclasses
|
||||
import inspect
|
||||
import re
|
||||
import sys
|
||||
|
|
@ -23,7 +23,7 @@ from typing import (
|
|||
)
|
||||
|
||||
import anyio
|
||||
from fastapi import params
|
||||
from fastapi import params, temp_pydantic_v1_params
|
||||
from fastapi._compat import (
|
||||
PYDANTIC_V2,
|
||||
ModelField,
|
||||
|
|
@ -80,8 +80,6 @@ from starlette.responses import Response
|
|||
from starlette.websockets import WebSocket
|
||||
from typing_extensions import Annotated, Literal, get_args, get_origin
|
||||
|
||||
from .. import temp_pydantic_v1_params
|
||||
|
||||
multipart_not_installed_error = (
|
||||
'Form data requires "python-multipart" to be installed. \n'
|
||||
'You can install "python-multipart" with: \n\n'
|
||||
|
|
@ -762,12 +760,16 @@ class ParameterCodec:
|
|||
|
||||
@staticmethod
|
||||
def decode(
|
||||
field_info: params.Param,
|
||||
field_info: Union[params.Param, temp_pydantic_v1_params.Param],
|
||||
received_params: Union[Mapping[str, Any], QueryParams, Headers],
|
||||
field: ModelField,
|
||||
) -> Dict[str, Any]:
|
||||
fn: Callable[
|
||||
[params.Param, Union[Mapping[str, Any], QueryParams, Headers], ModelField],
|
||||
[
|
||||
Union[params.Param, temp_pydantic_v1_params.Param],
|
||||
Union[Mapping[str, Any], QueryParams, Headers],
|
||||
ModelField,
|
||||
],
|
||||
Dict[str, Any],
|
||||
]
|
||||
fn = getattr(ParameterCodec, f"decode_{field_info.style}")
|
||||
|
|
@ -775,7 +777,7 @@ class ParameterCodec:
|
|||
|
||||
@staticmethod
|
||||
def decode_deepObject(
|
||||
field_info: params.Param,
|
||||
field_info: Union[params.Param, temp_pydantic_v1_params.Param],
|
||||
received_params: Union[Mapping[str, Any], QueryParams, Headers],
|
||||
field: ModelField,
|
||||
) -> Dict[str, Any]:
|
||||
|
|
|
|||
|
|
@ -59,6 +59,8 @@ class Param(FieldInfo): # type: ignore[misc]
|
|||
deprecated: Union[deprecated, str, bool, None] = None,
|
||||
include_in_schema: bool = True,
|
||||
json_schema_extra: Union[Dict[str, Any], None] = None,
|
||||
style: str = _Unset,
|
||||
explode: bool = _Unset,
|
||||
**extra: Any,
|
||||
):
|
||||
if example is not _Unset:
|
||||
|
|
@ -107,6 +109,8 @@ class Param(FieldInfo): # type: ignore[misc]
|
|||
use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset}
|
||||
|
||||
super().__init__(**use_kwargs)
|
||||
self.style = style
|
||||
self.explode = explode
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return f"{self.__class__.__name__}({self.default})"
|
||||
|
|
|
|||
Loading…
Reference in New Issue