Coverage for docs_src/additional_status_codes/tutorial001_py310.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-01-13 13:38 +0000

1from fastapi import Body, FastAPI, status 1abc

2from fastapi.responses import JSONResponse 1abc

3 

4app = FastAPI() 1abc

5 

6items = {"foo": {"name": "Fighters", "size": 6}, "bar": {"name": "Tenders", "size": 3}} 1abc

7 

8 

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

10async def upsert_item( 1abc

11 item_id: str, 

12 name: str | None = Body(default=None), 

13 size: int | None = Body(default=None), 

14): 

15 if item_id in items: 1gdheif

16 item = items[item_id] 1def

17 item["name"] = name 1def

18 item["size"] = size 1def

19 return item 1def

20 else: 

21 item = {"name": name, "size": size} 1ghi

22 items[item_id] = item 1ghi

23 return JSONResponse(status_code=status.HTTP_201_CREATED, content=item) 1ghi