❓ Query Parameter (쿼리 파라미터)란?
🎯 한 줄 정의
Query Parameter란 웹 주소(URL) 뒤에 붙는 "질문" 같은 정보이다.
서버에게 어떤 정보를 요청하거나 필터링할 때 사용된다.
🔍 예시로 쉽게 이해하기
https://pizza.com/order?menu=cheese&size=large
- ? → 쿼리 파라미터의 시작
- menu=cheese → 'menu'라는 질문에 'cheese'라고 대답
- size=large → 'size'라는 질문에 'large'라고 대답
즉, 이 URL은 **"치즈 피자, 라지 사이즈로 주세요!"**라는 의미다.
🧠 FastAPI에서의 사용법
from fastapi import FastAPI
app = FastAPI()
@app.get("/order")
def get_order(menu: str, size: str = "medium"):
return {"menu": menu, "size": size}
➡ 요청 예시:
http://localhost:8000/order?menu=pepperoni&size=small
📦 응답 결과:
{
"menu": "pepperoni",
"size": "small"
}
- menu: str → 필수 쿼리 파라미터
- size: str = "medium" → 선택 파라미터 (기본값 medium)
✅ 특징 요약
항목 설명
시작 기호 | ?로 시작, &로 연결 |
구조 | key=value 형태 |
용도 | 검색, 필터, 옵션 선택 등 |
FastAPI 처리 | 함수 인자에서 자동으로 처리됨 |
타입 검증 | 자동으로 해줌 (잘못되면 422 에러) |
🧪 에러 예시
/order?menu=cheese&size=bigbigbig
만약 size를 숫자로 지정해놨다면:
def order(menu: str, size: int):
❌ 오류 응답:
{
"detail": [
{
"loc": ["query", "size"],
"msg": "value is not a valid integer",
"type": "type_error.integer"
}
]
}
📌 요약 정리
- Query Parameter는 URL로 질문을 보내는 방법이다
- FastAPI는 함수 인자만 써도 쿼리 파라미터로 자동 처리해준다
- 타입과 기본값을 정하면, 검증과 문서화까지 자동으로 처리된다
"주소 뒤에 ?가 붙으면 서버에게 무엇을 원하는지 물어보는 것"이라고 생각하면 된다 😊
'기술블로그-Fastapi편' 카테고리의 다른 글
🔄 DRF Serializer vs FastAPI Pydantic 비교 정리 (0) | 2025.05.26 |
---|---|
📦 FastAPI에서 Request Body + Pydantic 사용법 (0) | 2025.05.26 |
🚨 GitHub Actions actions/cache@v2 오류 발생 원인 및 해결 방법 (0) | 2025.05.26 |
🔧 Python 개발 필수 도구 4종 + 커버리지 도구 정리 (Poetry 기준) (0) | 2025.05.26 |
🌟 Python asyncio 와 FastAPI/Django 비동기 여러 작업 동시 처리 기능 정리 (0) | 2025.05.26 |