FastAPI에서 POST 요청 처리하기 - 사용자 입력 데이터 받기 예제

2025. 3. 20. 17:51·프로그래밍/Python
목차
  1. ✅ 사용자 정보 등록 API 만들기
  2. 📁 models.py
  3. 📁 main.py
  4. ✅ API 테스트 방법
  5. 1. Swagger UI 이용
  6. 2. curl 명령어 사용
  7. ✅ 응답 예시
  8. ✅ 핵심 정리

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 요청을 보낼 수 있습니다:

🔗 http://127.0.0.1:8000/docs

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
  1. ✅ 사용자 정보 등록 API 만들기
  2. 📁 models.py
  3. 📁 main.py
  4. ✅ API 테스트 방법
  5. 1. Swagger UI 이용
  6. 2. curl 명령어 사용
  7. ✅ 응답 예시
  8. ✅ 핵심 정리
'프로그래밍/Python' 카테고리의 다른 글
  • [Python] 파이썬으로 PDF 내용 추출하는 방법 – PyMuPDF(fitz) 활용
  • [python] FastAPI에서 async/await으로 비동기 API 만들기 - 느린 작업도 빠르게 처리하기
  • FastAPI로 빠르고 간단한 파이썬 API 서버 만들기 - 설치부터 기본 예제까지
  • 파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리
큐레이트
큐레이트
저의 일상을 기록하는 블로그입니다.
  • 큐레이트
    큐레이트의 기록
    큐레이트
  • 전체
    오늘
    어제
    • 분류 전체보기 (193)
      • 국내여행 (37)
        • 애견여행 (33)
        • 맛집여행 (2)
      • 프로그래밍 (85)
        • C# (24)
        • Python (24)
        • Flutter (5)
        • .NET (4)
        • ASP (7)
        • Next.js (3)
        • Html (5)
        • Tomcat (2)
        • typescript (3)
        • etc (8)
      • 일상생활 (71)
        • 다이어트일지 (70)
        • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 복이랑스마트스토어
    • 복이랑블로그
  • 공지사항

    • 블로그 소개
  • 인기 글

  • 태그

    일상생활
    FastAPI
    애견여행
    Flutter
    식단관리
    Python
    식단
    운동일지
    애견동반
    다이어트
    애견동반여행
    헬스
    DevExpress
    체중기록
    다이어트 일지
    티스토리챌린지
    iis
    자동화
    국내여행
    파이썬
    제주도애견동반여행
    HTML
    제주도
    다이어트일지
    오운완
    pt
    오블완
    C#
    자동매매
    웹개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
큐레이트
FastAPI에서 POST 요청 처리하기 - 사용자 입력 데이터 받기 예제

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.