FastAPI를 사용하여 채팅 애플리케이션 구축하기

FastAPI

블로그로 돌아오신 여러분들, 안녕하세요! 오늘은 FastAPI를 사용하여 채팅 애플리케이션을 구축하는 방법에 대해 알아보려고 합니다. FastAPI는 Python 웹 프레임워크로, 높은 성능과 직관적인 사용법으로 주목받고 있습니다.

1. 프로젝트 설정

먼저, FastAPI를 사용하기 위해 Python 환경을 설정해야 합니다. 아래 명령어를 사용하여 FastAPI와 관련된 패키지를 설치하세요.

pip install fastapi uvicorn

2. FastAPI 애플리케이션 생성하기

FastAPI 애플리케이션을 생성하기 위해 다음과 같은 코드를 작성해보겠습니다.

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

위 코드는 가장 기본적인 형태의 FastAPI 애플리케이션입니다. @app.get("/") 데코레이터를 사용하여 루트 경로(/)로 요청이 들어왔을 때 read_root 함수가 실행되고 JSON 응답을 반환합니다.

3. 채팅 기능 추가하기

이제 채팅 기능을 추가해보겠습니다. 채팅을 저장할 데이터베이스와 채팅 메시지를 관리할 모델을 생성해야 합니다. 다음과 같은 코드를 작성하세요.

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class ChatMessage(BaseModel):
    sender: str
    message: str

chat_messages = []

@app.post("/chat")
def send_message(message: ChatMessage):
    chat_messages.append(message)
    return {"status": "Message sent"}

@app.get("/chat")
def get_messages():
    return chat_messages

위 코드에서는 ChatMessage 클래스를 생성하여 접속한 클라이언트가 보낸 sendermessage를 저장합니다. @app.post("/chat") 데코레이터를 사용하여 POST 요청이 들어왔을 때 send_message 함수가 실행되고, @app.get("/chat") 데코레이터를 사용하여 GET 요청이 들어왔을 때 get_messages 함수가 실행되며 저장된 채팅 메시지를 반환합니다.

4. 애플리케이션 실행하기

이제 애플리케이션을 실행해보겠습니다. 아래 명령어를 사용하여 애플리케이션을 실행하세요.

uvicorn main:app --reload

위 명령어는 main.py 파일에 작성한 애플리케이션을 실행하고 변경 사항이 있을 때마다 자동으로 재시작합니다.

5. 테스트하기

Postman 또는 curl과 같은 도구를 사용하여 애플리케이션을 테스트해보세요.

마무리

이제 FastAPI를 사용하여 간단한 채팅 애플리케이션을 구축하는 방법에 대해 알아보았습니다. FastAPI의 높은 성능과 직관적인 사용법은 개발 과정을 더욱 효율적으로 만들어줍니다. 애플리케이션을 개선하고 다양한 기능을 추가하여 보다 완성도 있는 채팅 애플리케이션을 만들어보세요.

행운을 빕니다! 🚀

#FastAPI #파이썬