fastapi
30 строк · 628.0 Байт
1from typing import Union2
3from fastapi import FastAPI4from fastapi.responses import FileResponse5from pydantic import BaseModel6
7
8class Item(BaseModel):9id: str10value: str11
12
13app = FastAPI()14
15
16@app.get(17"/items/{item_id}",18response_model=Item,19responses={20200: {21"content": {"image/png": {}},22"description": "Return the JSON item or an image.",23}24},25)
26async def read_item(item_id: str, img: Union[bool, None] = None):27if img:28return FileResponse("image.png", media_type="image/png")29else:30return {"id": "foo", "value": "there goes my hero"}31