프론트에서 백엔드로 데이터를 요청할때 엔드포인트 주소를 사용한다. 이때 받게되는 데이터가 작은 양이고, 그 양이 늘어나지 않으며, 내용 또한 바뀌지 않는다면 그냥 DB에 있는 row전부를 내보내도 상관이 없을것이다. 하지만 상용화된 웹은 거의 그럴일이 없다. 여기서 쿼리스트링의 필요성이 나타난다. 쿼리스트링으로 url에 파라미터를 받게되면, 엔드포인트에 데이터를 요청하더라도, 입력한 파라미터의 값에따라 필요한 데이터만 제공하는 것이 가능해진다.
# views.py
class subcategory(View):
def get(self, request):
category = request.GET.get('category', None)
query = request.GET.get('query', 'price')
# urls.py
urlpatterns = [
path('/subcategory', SubCategoryView.as_view()),
]
class CategorypageView(View):
def get(self, request, subcategory_id):
urlpatterns = [
path('/category/<int:subcategory_id>',CategorypageView.as_view()),
]