Computer Science/Network

[Network] Get방식의 Query string방식과 Path value방식

ooeunz 2019. 10. 31. 11:22
반응형

GET방식은 http method 중에서 url을 통해 정보를 전달하는 방식이다. 그런데 이러한 get을 사용하는 방법에는 두 가지가 있는데 그것에 대해 알아보겠다. 예를 들어 우리가 sns 서비스를 개발하고 있다고 가정해보자. 그렇다면 서비스는 필연적으로 user의 정보를 컨트롤해야 할 것이다. 아래는 그러한 예시들을 query방식과 params방식으로 구분하여 예시를 작성하였다.

 

 

Query String

만약 우리가 user의 id 값을 get 방식으로 받아와야할 때 이러한 방식으로 사용할 수 있을 것이다.

/users?id=123

그럼 우리는 백엔드에서 id값을 받아올 수 있게 된다. Node.js의 경우 해당 값을 아래의 코드와 같이 데이터를 받아올 수 있다.

 

const {id} = req.query;

 

 


Path value

다른 방법으로 경로로써 data를 받아오는 방식이 있는데, 그것은 아래와 같다.

/users/123

query방식과 달리 ? 뒤에 데이터를 삽입하는 것이 아니라 url 경로 중에 data가 삽입된 것을 알 수 있다. 이러한 경우 Node.js에서는 아래의 코드와 같이 데이터를 받아올 수 있다.

 

const {id} = req.params

 

 


Query string방식과 Path value방식은 각각 언제 사용해야 할까?

만약 어떤 특정한 resource를 식별하고 싶다면 params 방식을 이용하는 것이 좋고, 그것이 아니라 필터링을 하고 싶다면 query방식을 이용하는 것이 best practice이다

/users	// 사용자 전체의 목록을 가져온다.
/users?occupation=programer // 직업이 프로그래머인 사용자 목록만을 가져온다.
/users/123 // id 값이 123인 사용자를 가져온다.

 

 

 

 

※ 아래 출처의 게시물을 번역하였습니다.

[출처] https://medium.com/@fullsour/when-should-you-use-path-variable-and-query-parameter-a346790e8a6d

반응형