Coverage for docs_src / additional_responses / tutorial004_py310.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1from fastapi import FastAPI 1abfgcde

2from fastapi.responses import FileResponse 1abfgcde

3from pydantic import BaseModel 1abfgcde

4 

5 

6class Item(BaseModel): 1abfgcde

7 id: str 1abcde

8 value: str 1abcde

9 

10 

11responses = { 1abfgcde

12 404: {"description": "Item not found"}, 

13 302: {"description": "The item was moved"}, 

14 403: {"description": "Not enough privileges"}, 

15} 

16 

17 

18app = FastAPI() 1abfgcde

19 

20 

21@app.get( 1abfgcde

22 "/items/{item_id}", 

23 response_model=Item, 

24 responses={**responses, 200: {"content": {"image/png": {}}}}, 

25) 

26async def read_item(item_id: str, img: bool | None = None): 1abfgcde

27 if img: 1hijklmno

28 return FileResponse("image.png", media_type="image/png") 1ikmo

29 else: 

30 return {"id": "foo", "value": "there goes my hero"} 1hjln