프론트에서 요청을 보내올 때 RESTful API는 endpoint를 통해 어떤 자료를 받아올 지 짐작할 수 있다. 그러나 조금 다른 자료들을 받아오기 위해 사용하는 것이 쿼리스트링
이다. 즉 각자 다른 url을 부여할 필요가 없다는 것이다. 해당 정보에 대한 것을 parameter
로 받으면 같은 url
과 view
로 필요한 자료를 제공할 수 있게 된다.
https://www.youtube.com/results?search_query=hi
유튜브에서 'hi'를 검색한 결과를 나타내는 url 주소이다. www.youtube.com/result
라는 url
뒤에 ?search_query=hi
라는 부분이 Query String
에 해당하는 부분이다. search_query
라는 변수에 hi라는 값을 담은 것이다.
우리가 API에서 위 정보를 가져오기 위해서는 다음과 같은 방법이 있다.
search_keyword = request.GET.get('search_query')
여러 개의 값에 대해서는 &로 연결한다.
?city=1&district=20
?city=1&district=20&district=13
여기서 같은 변수로 들어온 것들에 대해서는 list로 담을 수 있다.
districts_list = request.GET.getlist('district')
key와 value 모두 쌍으로 받아서 딕셔너리로 받아올 수도 있다.
data = dict(request.GET.items())