FastAPI에서 POST 요청 처리하기 - 사용자 입력 데이터 받기 예제
FastAPI를 사용하면 간단한 문법으로 REST API를 만들 수 있으며, GET
요청뿐만 아니라 POST 요청도 매우 쉽게 처리할 수 있습니다.
이 글에서는 사용자 입력 데이터를 받아 처리하는 POST 요청 예제를 소개합니다.
✅ 사용자 정보 등록 API 만들기
POST 요청을 처리하려면 먼저 데이터 모델을 정의해야 합니다.
FastAPI는 pydantic
을 활용하여 입력 데이터를 자동으로 검증해 줍니다.
📁 models.py
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
email: str
📁 main.py
from fastapi import FastAPI
from models import User
app = FastAPI()
@app.post("/users/")
def create_user(user: User):
return {
"message": f"{user.name}님의 정보가 등록되었습니다.",
"data": user
}
✅ API 테스트 방법
1. Swagger UI 이용
FastAPI는 자동으로 문서화된 UI를 제공합니다.
다음 주소로 접속하면 브라우저에서 직접 POST 요청을 보낼 수 있습니다:
2. curl 명령어 사용
curl -X 'POST' 'http://127.0.0.1:8000/users/' \
-H 'Content-Type: application/json' \
-d '{"name": "철수", "age": 30, "email": "chulsoo@example.com"}'
✅ 응답 예시
{
"message": "철수님의 정보가 등록되었습니다.",
"data": {
"name": "철수",
"age": 30,
"email": "chulsoo@example.com"
}
}
✅ 핵심 정리
@app.post()
데코레이터를 사용해 POST 엔드포인트를 생성합니다.pydantic.BaseModel
을 상속한 클래스에서 필드 타입 검증을 자동으로 처리합니다.- Swagger UI 덕분에 API 테스트와 디버깅이 매우 편리합니다.
FastAPI는 복잡한 로직 없이도 API 요청 처리, 입력 검증, 문서화까지 모두 자동으로 해결해 줍니다.
간단한 코드로 강력한 백엔드 API를 만들 수 있는 점이 가장 큰 장점입니다.
※ 본 글의 예제는 Python 3.12 및 FastAPI 최신 버전 기준으로 작성되었습니다.
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파이썬으로 PDF 내용 추출하는 방법 – PyMuPDF(fitz) 활용 (0) | 2025.03.26 |
---|---|
[python] FastAPI에서 async/await으로 비동기 API 만들기 - 느린 작업도 빠르게 처리하기 (0) | 2025.03.20 |
FastAPI로 빠르고 간단한 파이썬 API 서버 만들기 - 설치부터 기본 예제까지 (0) | 2025.03.20 |
파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리 (0) | 2025.03.20 |
파이썬 데이터 검증을 쉽게 해주는 Pydantic 라이브러리 사용법 (0) | 2025.03.20 |