프로그래밍/ErrorLog

[EerrorLog] Required String parameter parameter is not present

미냐님 2020. 6. 25. 00:54
728x90

 

Required String parameter 'parameter' is not present

Ajax로 Json에 담아 컨트롤러에 파라미터 값을 보냈고, 컨트롤러의 @RequestParam으로 해당 파라미터 값을 받았을 때,
전달받은 파라미터 값이 없거나 타입이 다를 경우 발생하였습니다

@RequestMapping(path = "getMemberInfo")
@ResponseBody
public String getMemberInfo( @RequestParam String memberId ) {
    ....
    ....
    ....
  return memberInfo;
}

위의 경우 @RequestParam을 선언하고, required = false 또는 defaultValue를 사용하지 않았기 때문에,
Ajax로 파라미터 값을 전달받을 때 무조건 해당 값이 정확히 넘어와야 함.

 

반응형

defaultValue

@RequestParam(defaultValue = "1") 형태로 사용

@RequestMapping(path = "getMemberInfo")
@ResponseBody
public String getMemberInfo( @RequestParam(defaultValue = "1") String memberId ) {
    ....
    ....
    ....
  return memberInfo;
}

위의 예제 코드는 기본값으로 파라미터를 memberId로 전달받을 때, 값이 없다면 기본값을 1로 설정함.

 

728x90

required=false

@RequestMapping(path = "getMemberInfo")
@ResponseBody
public String getMemberInfo( @RequestParam(required = false) String memberId ) {
    ....
    ....
    ....
  return memberInfo;
}

위의 예제 코드는 기본값으로 파라미터를 memberId로 전달받을 때, 값이 없다면 Exception 없이 코드를 실행시킴

 

728x90