๐ ๐ ๐¶
๐ข, FastAPI ๐ ๐จ ๐จ โ๏ธ JSONResponse
, ๐ฎ ๐ ๐ ๐จ โช๏ธโก๏ธ ๐ โก ๐ ๏ธ ๐ ๐ JSONResponse
.
โซ๏ธ ๐ โ๏ธ ๐ข ๐ ๐ โ๏ธ 1๏ธโฃ ๐ โ ๐ โก ๐ ๏ธ.
๐ ๐ ๐¶
๐ฅ ๐ ๐ ๐จ ๐ ๐ ๐ โ๏ธ โช๏ธโก๏ธ ๐ 1๏ธโฃ, ๐ ๐ช ๐ ๐ฌ Response
๐, ๐ JSONResponse
, & โ ๐ ๐ ๐ ๐.
๐ผ, โก๏ธ ๐ฌ ๐ ๐ ๐ โ๏ธ โก ๐ ๏ธ ๐ โ โน ๐ฌ, & ๐จ ๐บ๐ธ๐ ๐ ๐ 2๏ธโฃ0๏ธโฃ0๏ธโฃ "๐" ๐โ ๐.
โ๏ธ ๐ ๐ โซ๏ธ ๐ซ ๐ ๐ฌ. & ๐โ ๐ฌ ๐ซ ๐ โญ, โซ๏ธ โ ๐ซ, & ๐จ ๐บ๐ธ๐ ๐ ๐ 2๏ธโฃ0๏ธโฃ1๏ธโฃ "โ".
๐ ๐, ๐ JSONResponse
, & ๐จ ๐ ๐ ๐ค ๐, โ status_code
๐ ๐ ๐:
from typing import Union
from fastapi import Body, FastAPI, status
from fastapi.responses import JSONResponse
app = FastAPI()
items = {"foo": {"name": "Fighters", "size": 6}, "bar": {"name": "Tenders", "size": 3}}
@app.put("/items/{item_id}")
async def upsert_item(
item_id: str,
name: Union[str, None] = Body(default=None),
size: Union[int, None] = Body(default=None),
):
if item_id in items:
item = items[item_id]
item["name"] = name
item["size"] = size
return item
else:
item = {"name": name, "size": size}
items[item_id] = item
return JSONResponse(status_code=status.HTTP_201_CREATED, content=item)
Warning
๐โ ๐ ๐จ Response
๐, ๐ ๐ผ ๐, โซ๏ธ ๐ ๐จ ๐.
โซ๏ธ ๐ ๐ซ ๐ป โฎ๏ธ ๐ท, โ๏ธ.
โ ๐ญ โซ๏ธ โ๏ธ ๐ ๐ ๐ โซ๏ธ โ๏ธ, & ๐ ๐ฒ โ ๐ป (๐ฅ ๐ โ๏ธ JSONResponse
).
๐ก โน
๐ ๐ช โ๏ธ from starlette.responses import JSONResponse
.
FastAPI ๐ ๐ starlette.responses
fastapi.responses
๐ช ๐, ๐ฉโ๐ป. โ๏ธ ๐
๐ช ๐จ ๐ ๐ โช๏ธโก๏ธ ๐. ๐ โฎ๏ธ status
.
๐ & ๐ ๏ธ ๐ฉบ¶
๐ฅ ๐ ๐จ ๐ ๐ ๐ & ๐จ ๐, ๐ซ ๐ ๐ซ ๐ ๐ ๐ (๐ ๏ธ ๐ฉบ), โฉ๏ธ FastAPI ๐ซ โ๏ธ ๐ ๐ญ โช โซ๏ธโ ๐ ๐ถ ๐จ.
โ๏ธ ๐ ๐ช ๐ ๐ ๐ ๐, โ๏ธ: ๐ ๐จ.