0

如果我在控制器中有如下方法:

@RequestMapping(value = "/mymapping",
        method = RequestMethod.POST,
        produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public final JsonResponse<?> myMethod() {

当方法抛出异常时,我希望 MVC 拦截器捕获它并返回 JSON 错误。我只希望这适用produces = MediaType.APPLICATION_JSON_VALUE于控制器中的方法。

我怎么能在我afterCompletionHandlerInterceptor. 如果我检查响应的 contentType,则在发生异常时它为 null。

@Override
public void afterCompletion(HttpServletRequest request,
        HttpServletResponse response, Object handler, Exception ex)
        throws Exception {
    //TODO
}
4

0 回答 0