-
@RequestParam과 @PathVariable의 사용스프링 프레임워크 2019. 10. 17. 15:37
컨트롤러에서 값을 전달해 줄 때 URL에 파라미터를 같이 전달하는 경우가 있습니다.
주로 사용하는 형태는 아래의 두가지입니다.
1. http://127.0.0.1/read?index=1&page=2
2. http://127.0.0.1/index/1
첫번째의 경우 파라미터의 값과 이름을 함께 전달하는 방식으로 게시판 등에서 페이지 및 검색 정보를 함께 전달하는 방식을 사용할 때 많이 사용합니다.
두번째의 경우 Rest api에서 값을 호출할 때 주로 많이 사용합니다.
Spring에서는 이러한 전달인자를 처리하는데 두 가지 방식을 제공합니다.
@Requestparam 사용
첫번째는 @RequestParam을 사용하는데 아래의 예제와 같이 컨트롤러에서 사용합니다.
@GetMapping("read") public ModelAndView getFactoryRead(@RequestParam("index") int id, SearchCriteria criteria) { //... }
위의 경우 /read?index=1과 같이 url이 전달될 때 index 파라미터를 받아오게 됩니다.
@RequsetParam 어노테이션의 괄호 안의 경우 전달인자 이름(실제 값을 표시)입니다.
@PathVariable
두번째는 @PathVariable을 사용하는데 래의 예제와 같이 컨트롤러에서 사용합니다.
@PostMapping("delete/{index}") @ResponseBody public JsonResultVo postDeleteFactory(@PathVariable("index") int factoryIdx) { return factoryService.deleteFacotryData(factoryIdx); }
'스프링 프레임워크' 카테고리의 다른 글
ResponseEntity (0) 2019.12.22 AOP와 트랜잭션 (0) 2019.06.12 REST 그리고 Ajax (0) 2019.05.31 Spring MVC의 @ModelAttribute 어노테이션에 대한 개념 (0) 2019.05.15 URI작성에 도움이 되는 UriComponents (0) 2019.05.15