반응형
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
반응형
'Computer Science > Network' 카테고리의 다른 글
[Network] CORS(Cross-Origin Resource Sharing)란? (0) | 2020.04.10 |
---|---|
[Network] http와 https 차이 (0) | 2020.03.28 |
[Network] TCP 신뢰성의 특징: 흐름제어 / 혼잡제어 (1) | 2020.03.22 |
[Network] TCP / UDP (0) | 2020.03.22 |
[Network] REST API와 Http Protocal (0) | 2019.10.09 |