[python] FastAPI에서 API 라우팅 설정하기

FastAPI는 강력하고 빠른 웹 프레임워크로서 API 개발에 매우 편리한 기능을 제공합니다. 이번 포스트에서는 FastAPI에서 API 라우팅을 설정하는 방법에 대해 알아보겠습니다.

1. FastAPI 프로젝트 생성하기

먼저, FastAPI 프로젝트를 생성해야 합니다. 아래의 명령어를 사용하여 FastAPI를 설치하고 프로젝트 디렉토리를 생성합니다.

$ pip install fastapi
$ pip install uvicorn
$ mkdir myapi
$ cd myapi

2. API 라우팅 설정하기

API 라우팅을 설정하기 위해서는 fastapi 패키지에서 FastAPI 클래스를 가져와야 합니다.

from fastapi import FastAPI

app = FastAPI()

위의 코드에서 app은 FastAPI 애플리케이션의 인스턴스를 의미합니다.

이제 API 엔드포인트를 추가해보겠습니다. FastAPI에서는 데코레이터를 사용하여 엔드포인트를 정의합니다. 아래의 코드는 /hello 경로에 대한 GET 요청을 처리하는 엔드포인트를 정의하는 예시입니다.

@app.get("/hello")
async def read_hello():
    return {"message": "Hello, World!"}

위의 코드에서 @app.get/hello 경로에 대한 GET 요청을 처리하는 핸들러 함수를 등록하는 데코레이터입니다. 이 핸들러 함수는 비동기 함수여야 하며, 요청에 대한 응답으로 JSON 형식의 데이터를 반환합니다.

read_hello 함수 안에서는 단순히 "message": "Hello, World!" 형태의 JSON 데이터를 반환하도록 작성되어 있습니다.

라우팅을 설정한 뒤에는 FastAPI 애플리케이션을 실행해야 합니다. 아래의 명령어를 사용하여 FastAPI 애플리케이션을 실행합니다.

$ uvicorn main:app --reload

위의 명령어에서 main은 FastAPI 애플리케이션의 메인 모듈 파일 이름을 의미합니다. app은 애플리케이션의 인스턴스입니다.

3. API 엔드포인트 테스트하기

FastAPI 애플리케이션이 실행되면, 설정한 API 엔드포인트에 대해 테스트할 수 있습니다. 웹 브라우저나 API 테스트 도구인 Postman 등을 사용하여 다음 URL에 접속해보세요.

http://localhost:8000/hello

해당 URL에 접속하면 JSON 형식의 응답을 받을 수 있습니다.

마무리

FastAPI에서 API 라우팅을 설정하는 방법에 대해 알아보았습니다. FastAPI의 강력한 기능을 활용하여 개발한 API 엔드포인트는 빠르고 안정적인 성능을 제공할 수 있습니다. 이를 통해 웹 개발 프로젝트를 효과적으로 구축할 수 있습니다.

더 많은 FastAPI 기능과 사용 방법을 알아보려면 FastAPI 공식 문서를 참조해보세요.

FastAPI 공식 문서 ```