springboot-全局异常处理类

@ControllerAdvice
public class GlobalExceptionHandler(){
  @ExceptionHandler(value=Exception.class)
  @ResponseBody
  private Map<String, Object> exceptionHandler(HttpServletRequest req,Exception e) {
    Map<String,Object> modeMap = new HashMap<String,Object>();
    modeMap.put("success",false);
    modeMap.put("errmsg",e.getMessage());
    return modeMap;    
} 
}

 1、页面跳转形式;2、ajax;3、统一返回异常的形式

异常处理web请求或ajax请求
@ControllerAdvice
public class GlobalExceptionHandler(){
  @ExceptionHandler(value=Exception.class)
  @ResponseBody
  private Object exceptionHandler(HttpServletRequest req,Exception e) {
     e.printStackTrace();
    if(isAjax(req)){
        return RestltBean();//返回异常结果类
    }else{
        ModeAndView mav = new ModeAndView();   
        mav.addObject("Exception",e);
        mav.addObject("url",req.getRequestURL());
        mav.setViewName("error");
        return mav;
    }
    
} 
}
    

 

判断是否是ajax请求

 

public static Boolean isAjax(HttpServletRequest req){
  return req.getHeader("X-Requested-With") != null && "XMLHttpRequest".equals(req.getHeader("X-Requested-With").toString());
}

 

posted @ 2018-04-12 08:07  故事里的牧羊人  阅读(511)  评论(0编辑  收藏  举报