웹을 사용하다보면 주소창에 "http://example.com?no=1&page=32" 와 같은 주소 형식을 많이 보게된다.
이 주소에서 ? 뒤에 오는 변수들을 "쿼리 매개변수(Query Parameters)"라고 한다.
각 매개변수는 & 표시로 구분되며, "key = value" 와 같이 키/값 쌍으로 정의한다.
@app.get("/users")
def get_users(limit : int) :
return {"limit" : limit}
>>> http :8000/users?limit=1
{
"limit" : 1
}
위에서 계속 limit를 쿼리 매개변수로 포함한 엔드 포인트를 작성했다.
이번엔 limit를 설정해줘도 되고, 안해줘도 되는 선택적인 속성으로 바꾸기 위해서는 어떻게 해야할까?
FastAPI 에서는 간단한 선언으로 할 수 있다.
@app.get("/users")
def get_users(limit : int = None) :
return {"limit" : limit}
>>> http :8000/users?
{
"limit" : NULL
}
매개변수를 선언할 때 "= None"을 선언해주면 선택적인 속성으로 사용이 가능하다.