Path Variable VS Request Param

/resources/{id} VS /resources?id={id}

목차

  • 개요
  • 뭔 차이지?
  • 그러면 각각 언제써야 하는가?

개요

특정 id의 리소스를 조회하는 URL을

/resources/{id}

이렇게 만들면 되겠지?

어? 근데

/resources?id={id}

얘도 되는거 아님?

뭔 차이지?

Path Variable

/resources/15

경로를 변수로써 데이터를 넘기는 방식이다.
@PathVariable 애노테이션을 사용해 변수로 넘길 수 있다

Query Parameter

/resources?id=15

파라미터를 통해 변수를 넘기는 방식
@RequestParam 애노테이션을 사용해 변수로 넘길 수 있다

결과적으론 큰 차이가 보이지 않는다

그러면 각각 언제써야 하는가?

이 질문과 유사한 의도의 포스팅이 존재하여 내용을 일부 인용했다.

If you want to identify a resource, you should use Path Variable.
But if you want to sort or filter items, then you should use query parameter.
원문

만약 어떤 resource를 식별하고 싶으면 Path Variable을 사용하고,
정렬이나 필터링을 한다면 Query Parameter를 사용하는 것이 Best Practice이다.
원문 번역

좋은 웹페이지 즐겨찾기