path Parameters

파이썬 기본 문법으로 매개변수를 경로에서 설정할 수 있다.

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(item_id):
    return {"item_id": item_id}

데코레이터에 있는 매개변수 item_id의 값은 밑에 있는 함수에 인자로 전달이 된다.

Path parameters with types

파이썬의 표준 타입 annotations을 통해 Path Parameter의 타입을 선언할 수 있다. (annotations은 python3 이상에서 사용이 가능하며 매개변수와 return값의 타입을 명시해 줄 수 있음.)

Python3 - Function annotation 에 대하여

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}

이를 통해 함수 내에서 오류 검사, 자동완성 등의 기능을 추가할 수 있음.

Data conversion

만약에 위 서버를 실행하고 http://127.0.0.1:8000/items/3를 실행하게 되면 다음과 같은 응답값을 가지게 됨.

{"item_id":3}

Data validation

또한, http://127.0.0.1:8000/items/abc를 실행하게 되면 데이터 타입이 맞지 않기 때문에 HTTP에러를 일으킨다.