쿼리 매개변수
API 뿐만 아니라 우리가 흔히 웹페이지를 들어가면 https://example.com?no=1&page=32등과 같은 주소 형식을 많이 보게 된다. 호스트 주소 뒤 ? 뒤에 오는 변수들을 쿼리 매개변수(Query parameters)라 부른다. 각 매개변수는 & 기호로 구분되고 key=value 와 같이 키/값 쌍으로 정의한다.
from fastapi import FastAPI
app = FastAPI()
@app.get("/users")
def get_users(limit: int):
return {"limit": limit}
선택적 쿼리 매개변수 : 쿼리 매개변수에서 type hint을 Union으로 지정하면 선택적 쿼리 매개변수로 사용 할 수 있다.
@app.get("/items/{item_id}")
async def read_item(item_id: str, q: Union[str, None] = None, short: bool = False)
필수 쿼리 매개 변수 : 필수로 필요한 쿼리 매개 변수일 경우에는 Union을 사용하지 않고 타입을 지정하여 처리 한다.
@app.get("/items/{item_id}")
async def read_item(item_id: str, q: str, short: bool = False)
문자열 열거형
만약 매개변수로 들어오는 값에 따라서 로직을 처리하게 만들고 싶다면 Python의 Enumeration (열거체) 을 이용하여 처리 할 수 있다.
from enum import Enum
from fastapi import FastAPI
app = FastAPI()
class UserLevel(str, Enum):
a = "a"
b = "b"
c = "c"
@app.get("/users")
def get_users(grade: UserLevel):
return {"grade": grade}
'FrameWork > Fastapi' 카테고리의 다른 글
[Fastapi] 경로 매개 변수에서의 유효성 검증 (1) | 2023.05.12 |
---|---|
[Fastapi] 유효성 검사, 필수 매개변수, 쿼리 매개변수 목록/다중 값 처리 (0) | 2023.05.12 |
[Fastapi] 요청 본문 (0) | 2023.05.12 |
[Fastapi] 경로 매개변수와 순서 문제 처리 (0) | 2023.05.12 |
[Fastapi] Fastapi 프로젝트 생성 및 경로 설정하기 (0) | 2023.05.12 |