예제
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Book(BaseModel):
title: str
writer: str
price: int
@app.post("/books/")
def book_info(book: Book):
return {
"message": f"{book.title}은 {book.writer} 작가의 책이며 가격은 {book.price}원입니다."
}

FastAPI 쿼리 파라미터(query parameter) 사용 정리
✅ 기본 구문
@app.get("/경로")
def 함수명(변수명: 타입):
...
👉 URL 호출 시에는 이렇게 사용:
GET /경로?변수명=값
✅ 예제 1: 단일 쿼리 파라미터
@app.get("/students/subject")
def get_students_by_subject(subject: str):
return {"subject": subject}
호출: GET /students/subject?subject=수학
✅ 예제 2: 여러 개의 쿼리 파라미터
@app.get("/students/search")
def search_students(class_name: str, min_age: int):
return {"class_name": class_name, "min_age": min_age}
호출: GET /students/search?class_name=1-A&min_age=20
✅ 예제 3: 선택적 파라미터 (Optional)
from typing import Optional
@app.get("/students")
def get_students(subject: Optional[str] = None):
if subject:
return {"filter": f"subject is {subject}"}
else:
return {"filter": "no subject filter"}
호출: /students?subject=영어 → 필터 적용됨
/students → 필터 없이 전체 조회
✅ 예제 4: 기본값 설정
@app.get("/students")
def get_students(subject: str = "수학"):
return {"subject": subject}
/students 호출 시 → subject는 "수학"으로 기본 설정됨
정리하면 쿼리 파라미터는 FastAPI 함수의 매개변수로 정의하고, URL에서 ?key=value 형태로 넘기면 돼.
선택적이면 Optional, 기본값을 주고 싶으면 param: type = default 이렇게 하면 돼.
'HANCOM AI ACAMEMY > 수업 및 플젝' 카테고리의 다른 글
| FastAPI : 5월 7일 (0) | 2025.05.07 |
|---|---|
| 파이썬(FastAPI) : 5월 2일 (0) | 2025.05.02 |
| 헷갈려서 정리하는 pandas (2) (0) | 2025.04.16 |
| 헷갈려서 정리하는 pandas (1) (0) | 2025.04.16 |
| Python : 4월 10일 (0) | 2025.04.10 |
댓글