Coverage for docs_src / response_model / tutorial005_py310.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1from fastapi import FastAPI 1abhicdefg

2from pydantic import BaseModel 1abhicdefg

3 

4app = FastAPI() 1abhicdefg

5 

6 

7class Item(BaseModel): 1abhicdefg

8 name: str 1abcdefg

9 description: str | None = None 1abhicdefg

10 price: float 1abcdefg

11 tax: float = 10.5 1abhicdefg

12 

13 

14items = { 1abhicdefg

15 "foo": {"name": "Foo", "price": 50.2}, 

16 "bar": {"name": "Bar", "description": "The Bar fighters", "price": 62, "tax": 20.2}, 

17 "baz": { 

18 "name": "Baz", 

19 "description": "There goes my baz", 

20 "price": 50.2, 

21 "tax": 10.5, 

22 }, 

23} 

24 

25 

26@app.get( 1abhicdefg

27 "/items/{item_id}/name", 

28 response_model=Item, 

29 response_model_include={"name", "description"}, 

30) 

31async def read_item_name(item_id: str): 1abhicdefg

32 return items[item_id] 1jklm

33 

34 

35@app.get("/items/{item_id}/public", response_model=Item, response_model_exclude={"tax"}) 1abhicdefg

36async def read_item_public_data(item_id: str): 1abhicdefg

37 return items[item_id] 1nopq