Coverage for docs_src/additional_responses/tutorial004.py: 100%
14 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
1from typing import Union 1abcdef
3from fastapi import FastAPI 1abcdef
4from fastapi.responses import FileResponse 1abcdef
5from pydantic import BaseModel 1abcdef
8class Item(BaseModel): 1abcdef
9 id: str 1abcdef
10 value: str 1abcdef
13responses = { 1abcdef
14 404: {"description": "Item not found"},
15 302: {"description": "The item was moved"},
16 403: {"description": "Not enough privileges"},
17}
20app = FastAPI() 1abcdef
23@app.get( 1abcdef
24 "/items/{item_id}",
25 response_model=Item,
26 responses={**responses, 200: {"content": {"image/png": {}}}},
27)
28async def read_item(item_id: str, img: Union[bool, None] = None): 1abcdef
29 if img: 1ghijklmnopqr
30 return FileResponse("image.png", media_type="image/png") 1hjlnpr
31 else:
32 return {"id": "foo", "value": "there goes my hero"} 1gikmoq