스프링
스프링 MVC Request 파라미터
수연정
2024. 1. 18. 11:32
RequestParam 사용법
* @RequestParam 사용
* - 파라미터 이름으로 바인딩
* @ResponseBody 추가
* - View 조회를 무시하고, HTTP message body에 직접 해당 내용 입력
*/
@ResponseBody
@RequestMapping("/request-param-v2")
public String requestParamV2(@RequestParam("username") String memberName,@RequestParam("age") int memberAge) {
log.info("username={}, age={}", memberName, memberAge);
return "ok";
}
핵심은 username={}, age={}
{}로 변수값 할당가능하다
Required
@ResponseBody
@RequestMapping("/request-param-required")
public String requestParamRequired(
@RequestParam(value = "username",required = true) String memberName,
@RequestParam(value = "age", required = true) int memberAge){
log.info("username={}, age={}", memberName, memberAge);
return "ok";
}
required가 true로 되어있으면 파라미터로 보내줘야 한다.
안 보내주면 오류 발생!
DefaultValue
@ResponseBody
@RequestMapping("/request-param-default")
public String requestParamDefaultValue(
@RequestParam(value = "username",required = true, defaultValue = "guest") String memberName,
@RequestParam(value = "age", required = true, defaultValue = "1") int memberAge){
log.info("username={}, age={}", memberName, memberAge);
return "ok";
}
여기서 파라미터로 빈문자를 줘도
defaultvalue 값으로 설정된다
@ModelAttribute
/**
* @ModelAttribute 사용
* 참고: model.addAttribute(helloData) 코드도 함께 자동 적용됨, 뒤에 model을 설명할 때 자세히
설명
*/
@ResponseBody
@RequestMapping("/model-attribute-v1")
public String modelAttributeV1(@ModelAttribute HelloData helloData) {
log.info("username={}, age={}", helloData.getUsername(),
helloData.getAge());
return "ok";
}
자동으로 객체를 생성해준다!