Browse Source

🎨 Tweak types

pull/14932/head
Sebastián Ramírez 5 months ago
parent
commit
e03019ef4c
  1. 4
      docs_src/extra_models/tutorial003_py310.py
  2. 4
      tests/test_additional_responses_union_duplicate_anyof.py
  3. 2
      tests/test_compat.py

4
docs_src/extra_models/tutorial003_py310.py

@ -1,5 +1,3 @@
from typing import Union
from fastapi import FastAPI from fastapi import FastAPI
from pydantic import BaseModel from pydantic import BaseModel
@ -30,6 +28,6 @@ items = {
} }
@app.get("/items/{item_id}", response_model=Union[PlaneItem, CarItem]) @app.get("/items/{item_id}", response_model=PlaneItem | CarItem)
async def read_item(item_id: str): async def read_item(item_id: str):
return items[item_id] return items[item_id]

4
tests/test_additional_responses_union_duplicate_anyof.py

@ -4,8 +4,6 @@ don't accumulate duplicate $ref entries in anyOf arrays.
See https://github.com/fastapi/fastapi/pull/14463 See https://github.com/fastapi/fastapi/pull/14463
""" """
from typing import Union
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from inline_snapshot import snapshot from inline_snapshot import snapshot
@ -23,7 +21,7 @@ class ModelB(BaseModel):
app = FastAPI( app = FastAPI(
responses={ responses={
500: { 500: {
"model": Union[ModelA, ModelB], "model": ModelA | ModelB,
"content": {"application/json": {"examples": {"Case A": {"value": "a"}}}}, "content": {"application/json": {"examples": {"Case A": {"value": "a"}}}},
} }
} }

2
tests/test_compat.py

@ -125,7 +125,7 @@ def test_serialize_sequence_value_with_none_first_in_union():
from fastapi._compat import v2 from fastapi._compat import v2
# Use Union[None, list[str]] to ensure None comes first in the union args # Use Union[None, list[str]] to ensure None comes first in the union args
field_info = FieldInfo(annotation=Union[None, list[str]]) field_info = FieldInfo(annotation=Union[None, list[str]]) # noqa: UP007
field = v2.ModelField(name="items", field_info=field_info) field = v2.ModelField(name="items", field_info=field_info)
result = v2.serialize_sequence_value(field=field, value=["x", "y"]) result = v2.serialize_sequence_value(field=field, value=["x", "y"])
assert result == ["x", "y"] assert result == ["x", "y"]

Loading…
Cancel
Save