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

15 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-08-08 03:53 +0000

1from fastapi import FastAPI 1abc

2from pydantic import BaseModel 1abc

3 

4app = FastAPI() 1abc

5 

6 

7class Item(BaseModel): 1abc

8 name: str 1abc

9 description: str | None = None 1abc

10 price: float 1abc

11 tax: float = 10.5 1abc

12 

13 

14items = { 1abc

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( 1abc

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

28 response_model=Item, 

29 response_model_include=["name", "description"], 

30) 

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

32 return items[item_id] 1abc

33 

34 

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

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

37 return items[item_id] 1abc