경로 매개변수는 말 그대로 URL 경로에서 쓰이는 매개변수이다.
@app.get("/items/{item_id}")
여기선 {item_id}
부분이 경로매개 변수가 되는 것이다.
경로 매개변수도 쿼리 매개변수와 마찬가지로 유효성 검증 및 메타데이터를 추가할 수 있다.
from typing import Union
from fastapi import FastAPI, Path, Query
app = FastAPI()
@app.get("/items/{item_id}")
async def read_items(
item_id: int = Path(title="The ID of the item to get"),
q: Union[str, None] = Query(default=None, alias="item-query"),
):
results = {"item_id": item_id}
if q:
results.update({"q": q})
return results
@app.get("/items/{item_id}")
async def read_items(
*,
item_id: int = Path(title="The ID of the item to get", gt=0, le=1000),
q: str,
):
results = {"item_id": item_id}
if q:
results.update({"q": q})
return results
gt
ge
lt
le
를 통해 숫자의 크기에 대한 유효성 검사를 할 수 있다.