1 | GET http://youngjinmo.github.io/member?id=2 // type 1 |
스프링부트에서 URL로 파라미터를 전달하는 두가지 방식이 있다. type 1의 방식이 쿼리 스트링을 적용한 방식이고, type 2가 REST하게 이용하는 방식이다.
쿼리스트링
쿼리스트링으로 파라미터를 URL로 전송할 때엔 컨트롤러에서 파라미터를 받을때 @RequestParam
을 사용한다.
1 |
|
실습 예제를 만들면서 포스트맨으로 간단히 API 조회를 할 수 있도록 Http Body에 결과를 담아 반환하는 컨트롤러를 만들었다. 이를 위해 @Controller
대신 @RestController
를 사용했다.
1 | GET http://localhost:8080/member?id=2 |
@RequestParam
어노테이션을 컨트롤러 파라미터에 작성하면 쿼리 스트링으로 들어오는 영역에서 id
값을 매핑해서 가져올 수 있다.
REST
RESTful하게 파라미터를 받기 위해서 컨트롤러에서 @PathVariable
어노테이션을 사용했다.
1 |
|
이외에 @GetMapping()
어노테이션에 @PathVariable
어노테이션으로 가져올 파라미터를 {}
형태로 작성해줘야 파라미터로 매핑이 이뤄진다.
1 | GET http://localhost:8080/member/2 |
쿼리스트링은 URL에 입력하는 파라미터 순서가 중요하지 않으나 REST 방식으로 URL에 파라미터를 담아서 전송할 경우, 파라미터의 위치가 중요해진다. 이 떄문에 @RequestMapping
또는 @GetMapping
어노테이션에서 파라미터명을 매핑해줘야한다.
Reference