在使用@RequestBody
StreamSource
发现时,如果请求正文中的 xml 无效StreamSource
会引发异常(导致 400 错误请求)并且我无法处理它(告诉客户端什么是错误的)。
有没有办法处理这种异常?
在使用@RequestBody
StreamSource
发现时,如果请求正文中的 xml 无效StreamSource
会引发异常(导致 400 错误请求)并且我无法处理它(告诉客户端什么是错误的)。
有没有办法处理这种异常?
一般来说,您可以通过这种方式在 Spring MVC 中捕获异常:
@ExceptionHandler(Exception.class)
public ModelAndView handleMyException(Exception exception) {
ModelAndView modelAndView = new ModelAndView("/errors/404");
modelAndView.addObject("message", exception.getMessage());
return modelAndView;
}
您可以将其映射到任何异常时间并将用户重定向到具有任何消息的任何页面。
或者:您可以将其退回@ResponseBody
:
@ExceptionHandler(Exception.class)
@ResponseBody
public String handleMyException(Exception exception) {
return exception.getMessage();
}