โ๏ธ ๐จ ๐¶
๐ ๐, ๐ โ๏ธ ๐ฃ ๐ ๐จ ๐ ๐ ๐ช โฎ๏ธ ๐ซ ๐.
โ ๐ โช๏ธโก๏ธ:
- โก ๐ข.
- ๐.
- ๐ช.
- โ๏ธ.
& ๐จ, FastAPI โ ๐ ๐ฝ, ๐ญ โซ๏ธ & ๐ญ ๐งพ ๐ ๐ ๏ธ ๐.
โ๏ธ ๐ค โ ๐โ ๐ ๐ช ๐ช ๐ Request
๐ ๐.
โน ๐ Request
๐¶
FastAPI ๐ค ๐ ๐, โฎ๏ธ ๐งฝ ๐ ๐งฐ ๐ ๐, ๐ ๐ช โ๏ธ ๐ Request
๐ ๐ ๐โ ๐ ๐ช.
โซ๏ธ ๐ โ ๐ ๐ฅ ๐ ๐ค ๐ โช๏ธโก๏ธ Request
๐ ๐ (๐ผ, โ ๐ช) โซ๏ธ ๐ ๐ซ โ, ๐ โ๏ธ ๐ (โฎ๏ธ ๐, ๐ง ๐ ๏ธ ๐ฉโ๐ป ๐ข) FastAPI.
๐ ๐ ๐ ๐ข ๐ฃ ๐ (๐ผ, ๐ช โฎ๏ธ Pydantic ๐ท) ๐ โ, ๐, โ, โ๏ธ.
โ๏ธ ๐ค ๐ฏ ๐ผ ๐โ โซ๏ธ โ ๐ค Request
๐.
โ๏ธ Request
๐ ๐¶
โก๏ธ ๐ ๐ ๐ ๐ค ๐ฉโ๐ป ๐ข ๐ข/๐ฆ ๐ ๐ โก ๐ ๏ธ ๐ข.
๐ ๐ ๐ช ๐ ๐จ ๐.
from fastapi import FastAPI, Request
app = FastAPI()
@app.get("/items/{item_id}")
def read_root(item_id: str, request: Request):
client_host = request.client.host
return {"client_host": client_host, "item_id": item_id}
๐ฃ โก ๐ ๏ธ ๐ข ๐ข โฎ๏ธ ๐ โ Request
FastAPI ๐ ๐ญ ๐ถโโ๏ธ Request
๐ ๐ข.
Tip
๐ ๐ ๐ ๐ผ, ๐ฅ ๐ฃ โก ๐ข โคด๏ธ ๐จ ๐ข.
, โก ๐ข ๐ โ, โ, ๐ โ ๐ & โ โฎ๏ธ ๐.
๐ ๐, ๐ ๐ช ๐ฃ ๐ ๐ ๐ข ๐, & โก, ๐ค Request
๐โโ๏ธ.
Request
๐งพ¶
๐ ๐ช โ ๐
โน ๐ Request
๐ ๐ ๐ ๐งพ ๐ธ.
๐ก โน
๐ ๐ช โ๏ธ from starlette.requests import Request
.
FastAPI ๐ โซ๏ธ ๐ ๐ช ๐, ๐ฉโ๐ป. โ๏ธ โซ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐.