[python] FastAPI에서 동적 라우팅 처리하기

FastAPI는 Python으로 빠르고 안전한 웹 API를 쉽게 작성할 수 있게 해주는 프레임워크입니다. 동적 라우팅은 URL 경로에 매개변수를 추가하여 동적으로 데이터를 처리하는 것을 의미합니다. 이를 통해 일반적인 URL 패턴에 의존하는 것보다 유연한 API를 구축할 수 있습니다.

동적 라우트 정의하기

FastAPI에서 동적 라우트를 정의하려면 경로에 중괄호({})를 사용하여 매개변수를 지정해야 합니다. 매개변수는 경로의 일부로 처리되고 해당 값을 사용하여 동적으로 데이터를 처리할 수 있습니다.

예를 들어, 사용자의 ID를 입력 받아 해당 사용자의 정보를 반환하는 API를 구현한다고 가정해보겠습니다.

from fastapi import FastAPI

app = FastAPI()

@app.get("/users/{user_id}")
async def read_user(user_id: int):
    return {"user_id": user_id}

위의 예시에서 /users/{user_id}는 동적으로 사용자의 ID를 받아들일 수 있도록 경로를 정의합니다. 그리고 함수 read_user에서 user_id 매개변수를 사용하여 해당 사용자의 정보를 반환합니다.

이제 이 API에 대해 요청을 하면, FastAPI는 URL에서 사용자의 ID를 추출하고 해당하는 사용자의 정보를 반환합니다.

요청 예시

아래는 위의 API에 대한 간단한 요청 예시입니다.

요청:

GET /users/123

응답:

{"user_id": 123}

동적 라우팅을 사용하면 특정 패턴에 국한되지 않고 보다 유연한 API를 구축할 수 있으며, FastAPI의 강력한 동적 라우팅 기능을 활용하여 다양한 상황에 대응할 수 있습니다.

이상으로 FastAPI에서 동적 라우팅을 처리하는 방법에 대해 알아보았습니다.

참고문헌: