Как настроить ответ @RequestParam error 400 в Spring MVC
Есть ли способ настроить то, что отображается, когда требуемый @RequestParam
не отправляется обработчику запроса? Я всегда получаю HTTP Status 400 с описанием "Запрос, отправленный клиентом, был синтаксически неправильным()". в этом случае.
Ответы
Ответ 1
Да, вы можете поймать MissingServletRequestParameterException
Вы можете сделать это несколькими способами:
1)
@ExceptionHandler(MissingServletRequestParameterException.class)
public String handleMyException(Exception exception) {
return "yourErrorViewName";
}
2)
<error-page>
<exception-type>org.springframework.web.bind.MissingServletRequestParameterException</exception-type>
<location>/WEB-INF/pages/myError.jsp</location>
</error-page>
Надеюсь, что это поможет.
Ответ 2
Как я решил свою проблему:
@ResponseBody
@ExceptionHandler(MissingServletRequestParameterException.class)
public Object missingParamterHandler(Exception exception) {
// exception handle while specified arguments are not available requested service only. it handle when request is as api json service
return new HashMap() {{ put("result", "failed"); put("type", "required_parameter_missing");}};
}