❓ Query Parameter (쿼리 파라미터)란?

2025. 5. 26. 17:42·기술블로그-Fastapi편

❓ 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
'기술블로그-Fastapi편' 카테고리의 다른 글
  • 🔄 DRF Serializer vs FastAPI Pydantic 비교 정리
  • 📦 FastAPI에서 Request Body + Pydantic 사용법
  • 🚨 GitHub Actions actions/cache@v2 오류 발생 원인 및 해결 방법
  • 🔧 Python 개발 필수 도구 4종 + 커버리지 도구 정리 (Poetry 기준)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    btsreunion
    trumpmuskclash
    chatgpterror
    btsjungkook
    college reunions
    hotcoffeecase
    homebartrend
    travel ban
    RM
    뷔
    newpoliticalparty
    life reflection
    urbantrends
    self-growth
    livebroadcast
    youngprofessionals
    smartphonedurability
    lawsuitculture
    chinanightlife
    global politics
    classaction
    btsdischarge
    bts
    remittance
    americanlaw
    gpterror
    basalcellcarcinoma
    titaniumcase
    americaparty
    btscomeback
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
❓ Query Parameter (쿼리 파라미터)란?
상단으로

티스토리툴바