Coverage for docs_src/extra_models/tutorial003_py310.py: 100%
16 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
1from typing import Union 1abcd
3from fastapi import FastAPI 1abcd
4from pydantic import BaseModel 1abcd
6app = FastAPI() 1abcd
9class BaseItem(BaseModel): 1abcd
10 description: str 1abcd
11 type: str 1abcd
14class CarItem(BaseItem): 1abcd
15 type: str = "car" 1abcd
18class PlaneItem(BaseItem): 1abcd
19 type: str = "plane" 1abcd
20 size: int 1abcd
23items = { 1abcd
24 "item1": {"description": "All my friends drive a low rider", "type": "car"},
25 "item2": {
26 "description": "Music is my aeroplane, it's my aeroplane",
27 "type": "plane",
28 "size": 5,
29 },
30}
33@app.get("/items/{item_id}", response_model=Union[PlaneItem, CarItem]) 1abcd
34async def read_item(item_id: str): 1abcd
35 return items[item_id] 1efghijkl