2. Path 와 Query 매개변수 (URL 로 데이터 받기)

# 2 강. Path 와 Query 매개변수 ## 🎯 학습 목표 - 경로 매개변수 (Path Parameter) 사용법 - 쿼리 스트링 (Query String) 활용법 - 타입 검증과 유효성 검사 --- ## 1. 경로 매개변수 (Path Parameter) ```python from fastapi import FastAPI app = FastAPI() @app.get("/users/{user_id}") def get_user(user_id: int): return {"user_id": user_id} ``` ### 타입 변환의 마법 FastAPI 는 **타입 힌트를 보고 자동으로 변환**합니다! ```python @app.get("/items/{item_id}") def get_item(item_id: int): return {"item_id": item_id} ``` --- ## 2. 쿼리 매개변수 (Query Parameter) ```python @app.get("/items") def read_items(skip: int = 0, limit: int = 10): return {"skip": skip, "limit": limit} ``` **URL 예시:** - `/items` → skip=0, limit=10 - `/items?skip=20&limit=5` → skip=20, limit=5 --- ## 3. Path() 와 Query() 고급 옵션 ```python from fastapi import FastAPI, Path, Query from typing import Annotated app = FastAPI() @app.get("/articles/{article_id}") def read_article( article_id: Annotated[int, Path(ge=1, le=10000)], q: Annotated[str | None, Query(max_length=50)] = None ): return {"id": article_id, "query": q} ```