【发布时间】:2014-06-28 06:02:11
【问题描述】:
我在 Spring 4.0.3 中使用以下异常处理程序来拦截异常并向用户显示自定义错误页面:
@ControllerAdvice
public class ExceptionHandlerController
{
@ExceptionHandler(value = Exception.class)
public ModelAndView handleError(HttpServletRequest request, Exception e)
{
ModelAndView mav = new ModelAndView("/errors/500"));
mav.addObject("exception", e);
return mav;
}
}
但现在我想要对 JSON 请求进行不同的处理,因此当发生异常时,我会收到此类请求的 JSON 错误响应。目前上述代码也是由 JSON 请求触发的(使用 Accept: application/json 标头),并且 JavaScript 客户端不喜欢 HTML 响应。
如何以不同方式处理 HTML 和 JSON 请求的异常?
【问题讨论】:
标签: java spring spring-mvc jackson