Django – Ninja api querystring 처리
Django ninja api 엔진을 쓰고 있는데, 쿼리스트링을 처리하는 함수를 만들려고 한다. 주소에서 파라메터를 뽑아 쓰는 것은 직관적이었는데…
역시 똑같다. 차이가 없다.
@api.get("/weapons")def list_weapons(request, limit: int = 10, offset: int = 0): return weapons[offset: offset + limit]
- 파라메터에 기본값을 넣고 추가해 준다. 이건 path parameter 와 완전 동일하다.
- 호출의 형태는 아래와 같다. So, going to the URL:
http://localhost:8000/api/weapons
- same as
http://localhost:8000/api/weapons?offset=0&limit=10
http://localhost:8000/api/weapons?offset=20
기본 값을 줬기 때문에 아무것도 주지 않으면 default value 로 처리된다.
설명서가 포함된 자세한 내용은 아래 글을 참고하자.
참고로 path parameter 도 선언 부분이나 함수 사용 부분은 완전 동일하다
@api.get("/items/{item_id}")def read_item(request, item_id: int): return {"item_id": item_id}
그냥 대충 쓰자. loose coupled 😅