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

12 statements  

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

1from fastapi import Body, 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 | None = None 1abc

12 

13 

14@app.put("/items/{item_id}") 1abc

15async def update_item( 1abc

16 *, 

17 item_id: int, 

18 item: Item = Body( 

19 openapi_examples={ 

20 "normal": { 

21 "summary": "A normal example", 

22 "description": "A **normal** item works correctly.", 

23 "value": { 

24 "name": "Foo", 

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

26 "price": 35.4, 

27 "tax": 3.2, 

28 }, 

29 }, 

30 "converted": { 

31 "summary": "An example with converted data", 

32 "description": "FastAPI can convert price `strings` to actual `numbers` automatically", 

33 "value": { 

34 "name": "Bar", 

35 "price": "35.4", 

36 }, 

37 }, 

38 "invalid": { 

39 "summary": "Invalid data is rejected with an error", 

40 "value": { 

41 "name": "Baz", 

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

43 }, 

44 }, 

45 }, 

46 ), 

47): 

48 results = {"item_id": item_id, "item": item} 1abc

49 return results 1abc