Coverage for docs_src/path_operation_advanced_configuration/tutorial004.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-05 00:03 +0000

1from typing import Set, Union 1abcdef

2 

3from fastapi import FastAPI 1abcdef

4from pydantic import BaseModel 1abcdef

5 

6app = FastAPI() 1abcdef

7 

8 

9class Item(BaseModel): 1abcdef

10 name: str 1abcdef

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

12 price: float 1abcdef

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

14 tags: Set[str] = set() 1abcdef

15 

16 

17@app.post("/items/", response_model=Item, summary="Create an item") 1abcdef

18async def create_item(item: Item): 1abcdef

19 """ 

20 Create an item with all the information: 

21 

22 - **name**: each item must have a name 

23 - **description**: a long description 

24 - **price**: required 

25 - **tax**: if the item doesn't have tax, you can omit this 

26 - **tags**: a set of unique tag strings for this item 

27 \f 

28 :param item: User input. 

29 """ 

30 return item 1ghijkl