Spring Boot 에서 데이터 조회 API 를 제작하는 방법은 대표적으로 두 가지가 있다.
1. http://localhost:8080/board?id=1
2. http://localhost:8080/board/id/1
예시로 보다시피, 둘 다 같은 데이터를 받아오지만 전반적으로 봤을 때 가장 큰 차이점은 쿼리스트링의 사용 여부라고 볼 수 있다.
아래부터는 둘의 차이를 좀 더 자세하게 분석을 해보도록 하겠다.
@RequestParam의 파라미터 종류는 4가지이다.
@RequestParam(value="param1", required=true) String param1),
@RequestParam(value="param2", required=true) String param2)
@Pathvariable 에서 가장 중요한 포인트는 어떠한 요청이든 하나밖에 사용할 수 없다는 것이다. 해당 어노테이션도 앞서 말한 @RequestParam과 마찬가지로 name, value, required 파라미터가 있고 default 값을 설정하지 않는다.
@Pathvariable(value="param1" String param1)
@RequestParam에는 default 값이라는 것이 있기 때문에, 만약에 코드를 짤 때 default 값을 설정할 것이라면 @RequestParam 을 사용하고, 그렇지 않다면 @Pathvariable을 사용하면 될 것이다. 혹은 둘 다 필요할 경우, 둘 다 사용할 수도 있다.