Add error message for missing servlet request param.
The DefaultHandlerExceptionResolver now provides an error message in addition to setting the status of the response. Issue: SPR-9312
This commit is contained in:
parent
1cf4a2facd
commit
06d95915a0
|
|
@ -22,13 +22,13 @@ import org.springframework.web.multipart.MultipartResolver;
|
|||
|
||||
/**
|
||||
* Raised when the part of a "multipart/form-data" request identified by its
|
||||
* name cannot be found.
|
||||
*
|
||||
* <p>This may be because the request is not a multipart/form-data
|
||||
*
|
||||
* either because the part is not present in the request, or
|
||||
* because the web application is not configured correctly for processing
|
||||
* multipart requests -- e.g. no {@link MultipartResolver}.
|
||||
* name cannot be found.
|
||||
*
|
||||
* <p>This may be because the request is not a multipart/form-data
|
||||
*
|
||||
* either because the part is not present in the request, or
|
||||
* because the web application is not configured correctly for processing
|
||||
* multipart requests -- e.g. no {@link MultipartResolver}.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 3.1
|
||||
|
|
@ -40,7 +40,7 @@ public class MissingServletRequestPartException extends ServletException {
|
|||
private final String partName;
|
||||
|
||||
public MissingServletRequestPartException(String partName) {
|
||||
super("Request part '" + partName + "' not found.");
|
||||
super("Required request part '" + partName + "' is not present.");
|
||||
this.partName = partName;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ public class DefaultHandlerExceptionResolver extends AbstractHandlerExceptionRes
|
|||
protected ModelAndView handleMissingServletRequestParameter(MissingServletRequestParameterException ex,
|
||||
HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
|
||||
|
||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage());
|
||||
return new ModelAndView();
|
||||
}
|
||||
|
||||
|
|
@ -384,7 +384,7 @@ public class DefaultHandlerExceptionResolver extends AbstractHandlerExceptionRes
|
|||
*/
|
||||
protected ModelAndView handleMissingServletRequestPartException(MissingServletRequestPartException ex,
|
||||
HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
|
||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
|
||||
response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage());
|
||||
return new ModelAndView();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ public class DefaultHandlerExceptionResolverTests {
|
|||
assertNotNull("No ModelAndView returned", mav);
|
||||
assertTrue("No Empty ModelAndView returned", mav.isEmpty());
|
||||
assertEquals("Invalid status code", 400, response.getStatus());
|
||||
assertEquals("Required bar parameter 'foo' is not present", response.getErrorMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -156,6 +157,7 @@ public class DefaultHandlerExceptionResolverTests {
|
|||
assertNotNull("No ModelAndView returned", mav);
|
||||
assertTrue("No Empty ModelAndView returned", mav.isEmpty());
|
||||
assertEquals("Invalid status code", 400, response.getStatus());
|
||||
assertEquals("Required request part 'name' is not present.", response.getErrorMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in New Issue