[Web] Query Parameter & Path Parameter

hukim·2020년 10월 29일
1

Web

목록 보기
5/5

이미지 출처 : https://joshua1988.github.io/web-development/http-part1/

Query Parameter

소셜 서비스를 만든다고 가정하고 간단하게 GET 메소드를 이용해서 데이터를 전송하는 방법을 이용해보겠습니다.

사용자의 목록을 관리하고 모든 사용자는 사용자 페이지가 있어야 할 것입니다.

각각의 사용자를 위한 페이지를 만드려면 페이지마다 식별된 파라미터 경로가 필요한데, 다음과 같은 GET 파라미터를 사용할 수 있을 것입니다.

/user?id=123   	# id가 123 인 유저를 가져옵니다.

해당 API를 서버에 요청하면 서버에서는 해당 Query String을 이용해서 id 값이 123인 유저의 정보를 리턴하게 됩니다.

/product?price=3000&name=사과  	# price가 3000이면서 name이 사과인 상품
/product?ordering=-id 		# id값을 내림차순으로 정렬
/product?offset=0&limit=100     # offset ~ limit 사이의 개수만 출력

Query String은 조건을 여러 가지 설정할 수도 있고, 정렬도 할 수 있습니다.

Path Parameter

Path Parameter 또한 데이터를 넘겨주는 방식 중의 하나입니다.

위와 같은 상황에서

/user/123	# id가 123 인 유저를 가져옵니다.

위의 경로를 서버에서 변수로서 사용하는 방법입니다.

product/1		# product id가 1번인 상품 출력
product/1/reviews 	# product id가 1번인 상품의 리뷰를 출력

어떤 경우에 Path와 Query를 사용할까

만약 어떤 resource를 식별하고 싶으면 Path Parameter를 사용하고,
정렬이나 필터링을 하는 경우에는 Query Parameter를 사용하는 것이 가장 좋습니다.

위의 방법대로 구현하지 않아도 API를 만드는 것은 가능합니다.
그렇지만 복잡해지고 그에 따라서 개발속도를 늦추게 됩니다.

두개의 Parameter를 잘 활용하면 추가적인 endpoint를 만들지 않아도 되고
다른 개발자들과의 협업을 고려하면 표준이 되는 방법을 잘 따르는 것이 좋겠습니다.

0개의 댓글