Springあるある
@RequestParam(required=true)의 주의점
JIN_YOUNG _KIM
2025. 1. 3. 13:42
@ResponseBody
@RequestMapping("/request-param-required")
public String requestParamRequired(@RequestParam(required = true) String username,
@RequestParam(required = false) int age){
log.info("username={}",username);
log.info("age = {}",age);
return "ok";
}
1] http://localhost:8080/request-param-required?username=""
-> required = true는 <key와 value>가 무조건 있어야 한다. username="" 은 빈 문자열이라는 데이터가 들어 온 것이기에 서버에서 정상 처리가 된다.
2] http://localhost:8080/request-param-required?
-> username 자체가 없어야만 서버에서 404(Bad Request) Error를 내려준다.
(required = false인 경우 해당 매개변수가 없으면 null을 반환,이때 age의 자료형은 기본형이 아닌 Integer형으로 해줘야 한다)
3] http://localhost:8080/request-param-required?username=
-> 이 경우에는 매개변수 입력을 안 했다고 스프링이 판단!