如果我在控制器中有如下方法:
@RequestMapping(value = "/mymapping",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public final JsonResponse<?> myMethod() {
当方法抛出异常时,我希望 MVC 拦截器捕获它并返回 JSON 错误。我只希望这适用produces = MediaType.APPLICATION_JSON_VALUE
于控制器中的方法。
我怎么能在我afterCompletion
的HandlerInterceptor
. 如果我检查响应的 contentType,则在发生异常时它为 null。
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
//TODO
}