Coverage for docs_src/schema_extra_example/tutorial004_an_py39.py: 100%

13 statements  

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

1from typing import Annotated, Union 1abcd

2 

3from fastapi import Body, FastAPI 1abcd

4from pydantic import BaseModel 1abcd

5 

6app = FastAPI() 1abcd

7 

8 

9class Item(BaseModel): 1abcd

10 name: str 1abcd

11 description: Union[str, None] = None 1abcd

12 price: float 1abcd

13 tax: Union[float, None] = None 1abcd

14 

15 

16@app.put("/items/{item_id}") 1abcd

17async def update_item( 1abcd

18 *, 

19 item_id: int, 

20 item: Annotated[ 

21 Item, 

22 Body( 

23 examples=[ 

24 { 

25 "name": "Foo", 

26 "description": "A very nice Item", 

27 "price": 35.4, 

28 "tax": 3.2, 

29 }, 

30 { 

31 "name": "Bar", 

32 "price": "35.4", 

33 }, 

34 { 

35 "name": "Baz", 

36 "price": "thirty five point four", 

37 }, 

38 ], 

39 ), 

40 ], 

41): 

42 results = {"item_id": item_id, "item": item} 1abcd

43 return results 1abcd