Django - Ninja api querystring 처리

Django - Ninja api querystring 처리
Photo by Jørgen Håland / Unsplash

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 로 처리된다.

설명서가 포함된 자세한 내용은 아래 글을 참고하자.

Query parameters - Django Ninja
Django Ninja - Django REST framework with high performance, easy to learn, fast to code.

참고로 path parameter 도 선언 부분이나 함수 사용 부분은 완전 동일하다

@api.get("/items/{item_id}")
def read_item(request, item_id: int):
    return {"item_id": item_id}

그냥 대충 쓰자. loose coupled 😅