mirror of https://github.com/tiangolo/fastapi.git
fmt
This commit is contained in:
parent
03d445ad5e
commit
1121414bf2
|
|
@ -510,10 +510,13 @@ if shared.PYDANTIC_VERSION_MINOR_TUPLE >= (2, 6):
|
||||||
def omit_by_default(field_info: FieldInfo) -> FieldInfo:
|
def omit_by_default(field_info: FieldInfo) -> FieldInfo:
|
||||||
"""Set omit by default on a FieldInfo's annotation."""
|
"""Set omit by default on a FieldInfo's annotation."""
|
||||||
new_annotation = _omit_by_default(field_info.annotation)
|
new_annotation = _omit_by_default(field_info.annotation)
|
||||||
new_field_info = copy_field_info(field_info=field_info, annotation=new_annotation)
|
new_field_info = copy_field_info(
|
||||||
|
field_info=field_info, annotation=new_annotation
|
||||||
|
)
|
||||||
return new_field_info
|
return new_field_info
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
def ignore_invalid(v: Any, handler: Callable[[Any], Any]) -> Any:
|
def ignore_invalid(v: Any, handler: Callable[[Any], Any]) -> Any:
|
||||||
try:
|
try:
|
||||||
return handler(v)
|
return handler(v)
|
||||||
|
|
@ -531,7 +534,12 @@ else:
|
||||||
# Handle nested list validation errors (e.g., dict[str, list[str]])
|
# Handle nested list validation errors (e.g., dict[str, list[str]])
|
||||||
elif isinstance(loc[0], str) and isinstance(v, dict):
|
elif isinstance(loc[0], str) and isinstance(v, dict):
|
||||||
key = loc[0]
|
key = loc[0]
|
||||||
if len(loc) > 1 and isinstance(loc[1], int) and key in v and isinstance(v[key], list):
|
if (
|
||||||
|
len(loc) > 1
|
||||||
|
and isinstance(loc[1], int)
|
||||||
|
and key in v
|
||||||
|
and isinstance(v[key], list)
|
||||||
|
):
|
||||||
list_index = loc[1]
|
list_index = loc[1]
|
||||||
v[key][list_index] = None
|
v[key][list_index] = None
|
||||||
elif key in v:
|
elif key in v:
|
||||||
|
|
@ -549,5 +557,7 @@ else:
|
||||||
|
|
||||||
def omit_by_default(field_info: FieldInfo) -> FieldInfo:
|
def omit_by_default(field_info: FieldInfo) -> FieldInfo:
|
||||||
"""add a wrap validator to omit invalid values by default."""
|
"""add a wrap validator to omit invalid values by default."""
|
||||||
field_info.metadata = field_info.metadata or [] + [WrapValidator(ignore_invalid)]
|
field_info.metadata = field_info.metadata or [] + [
|
||||||
|
WrapValidator(ignore_invalid)
|
||||||
|
]
|
||||||
return field_info
|
return field_info
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import http
|
import http
|
||||||
from typing import Dict, FrozenSet, List, Optional, Union
|
from typing import Dict, FrozenSet, List, Optional
|
||||||
|
|
||||||
from fastapi import FastAPI, Path, Query
|
from fastapi import FastAPI, Path, Query
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ def test_enum_status_code_response():
|
||||||
def test_openapi_schema():
|
def test_openapi_schema():
|
||||||
response = client.get("/openapi.json")
|
response = client.get("/openapi.json")
|
||||||
assert response.status_code == 200, response.text
|
assert response.status_code == 200, response.text
|
||||||
assert response.json()["paths"] == {
|
assert response.json() == {
|
||||||
"openapi": "3.1.0",
|
"openapi": "3.1.0",
|
||||||
"info": {"title": "FastAPI", "version": "0.1.0"},
|
"info": {"title": "FastAPI", "version": "0.1.0"},
|
||||||
"externalDocs": {
|
"externalDocs": {
|
||||||
|
|
@ -986,7 +986,10 @@ def test_openapi_schema():
|
||||||
"required": False,
|
"required": False,
|
||||||
"schema": IsDict(
|
"schema": IsDict(
|
||||||
{
|
{
|
||||||
"anyOf": [{"type": "integer"}, {"type": "null"}],
|
"anyOf": [
|
||||||
|
{"type": "integer"},
|
||||||
|
{"type": "null"},
|
||||||
|
],
|
||||||
"title": "Query",
|
"title": "Query",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
@ -1520,4 +1523,4 @@ def test_openapi_schema():
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}["paths"]
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue