스프링 controller에서 사용하는 @RequestParam, @PathVariable를 기록하겠습니다.
uri를 통해 값을 전달할때 방식은 2가지가 있습니다.
- http://localhost:8000/board?type=post&page=1
- http://localhost:8000/board/post/1
첫번째 방식은 @RequestParam를 사용하는거고
두번째 방식은 @PathVariable 사용했습니다.
@RequestParam
@Controller
public class HomeController {
@RequestMapping("/board")
public String checkId(@RequestParam("type") String type,
@RequestParam(value = "page", required = false, defaultValue = "1") String page, Model model) {
model.addAttribute("type", type);
model.addAttribute("pwd", pwd);
return "/board";
}
}
- value = uri에서 바인딩하게 될 값
- required = false로해야 값이 없을때 에러가 나지 않습니다.
- defaultValue = 값이 없을 때 기본값으로 사용할 값
@PathVariable
회사에서 RESTful API를 구현할때 주로 사용했던 방법이다.
@RestController
public class HomeController {
@PostMapping("/board/{type}/{page}")
public String checkId(@PathVariable("type") String type, @PathVariable("page") int page) {
return "Type: " + type + ", Page: " + page;
}
}
정리
Path Variable은 REST API에서 값을 호출할 때 주로 사용되고,
Query Parameter (@RequestParam)는 게시판의 페이지 및 검색 정보를 전달하는 방식에서 많이 사용하는 편입니다.
'프레임워크 > 스프링' 카테고리의 다른 글
스프링 xml 설정 정리 (0) | 2023.01.17 |
---|---|
Spring @Aspect 범위 애노테이션으로 적용하기 (0) | 2023.01.06 |
Spring @Aspect를 사용하여 어드바이저 생성 기능 사용 (0) | 2022.12.24 |
스프링이 지원하는 프록시 (0) | 2022.12.11 |
[Spring]스프링 시큐리티 퍼옴 xml 사용안하는 버젼 (0) | 2022.11.13 |