全局异常处理2-HandlerExceptionResolver

package com.suncl.test2spring.exception;
 import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.json.MappingJackson2JsonView;  import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;  /**  * 全局异常处理-HandlerExceptionResolver方式  */ @Slf4j @Component public class GlobalExceptionHandler implements HandlerExceptionResolver {  @Override  public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {  ApiResult result;  ModelAndView model = new ModelAndView(new MappingJackson2JsonView());  log.error(e.getMessage(), e);  if (e instanceof BizException) {  result = new ApiResult(ResultCode.BIZ_ERROR.getCode(),e.getMessage());  }else{  result = new ApiResult(ResultCode.UNKNOWN_ERROR) ;  }  model.addObject("code",result.getCode());  model.addObject("msg",result.getMsg());  return model;  } } 

注意要点为

  1. 实现 HandlerExceptionResolver
  2. 加入spring容器 这里使用@Component
  3. 返回的是 ModelAndView

猜你喜欢

转载自www.cnblogs.com/reload-sun/p/12216945.html
今日推荐