问题描述
|
当使用
@RequestBody
StreamSource
时,如果请求正文中的xml在无效的StreamSource
中抛出异常(导致400 Bad Request),则我将无法处理该异常(告诉客户端什么是坏的)。
有没有办法处理这种异常?
解决方法
通常,您可以通过以下方式在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();
}