How to customize @RequestParam error 400 response in Spring MVC

rustyx picture rustyx · Jan 28, 2012 · Viewed 10.1k times · Source

Is there a way to customize what gets displayed when a required @RequestParam is not sent to the request handler? I always get HTTP Status 400 with a description "The request sent by the client was syntactically incorrect ()." in this case.

Answer

danny.lesnik picture danny.lesnik · Jan 28, 2012

Yes, there is a way you should catch MissingServletRequestParameterException

You can do it in several ways:

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>

Hope it helps.