ajax返回
package com.dl.ExceptionTest; import com.alibaba.fastjson.JSONObject; import org.springframework.web.bind.annotation.RestControllerAdvice; import javax.servlet.http.HttpServletRequest; /** * @author xingguanghui * @create 2018-04-03 10:51 **/ @RestControllerAdvice public class ExceptionHandler { @org.springframework.web.bind.annotation.ExceptionHandler(value = Exception.class) public Object defaultHandler(HttpServletRequest req,Exception e){ JSONObject object = new JSONObject(); object.put("code","500"); object.put("msg",e.getMessage()); return object; } }
返回页面
package com.dl.ExceptionTest; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author xingguanghui * @create 2018-04-03 11:05 **/ @ControllerAdvice public class ExceptionHandler1 { @ExceptionHandler(value = Exception.class) public Object errHandler(HttpServletRequest req, HttpServletResponse rsp,Exception e) throws Exception{ e.printStackTrace(); ModelAndView model = new ModelAndView(); model.addObject("exception",e); model.addObject("url",req.getRequestURL()); model.setViewName("error"); return model; } }
判断请求是不是ajax请求
/** * 判断请求是否是ajax请求 * @param req * @return */ public static boolean isAjax(HttpServletRequest req){ String header = req.getHeader("X-Requested-With"); return (header != null && "XMLHttpRequest".equals(header)); }
集成两种返回
package com.dl.ExceptionTest; import com.alibaba.fastjson.JSONObject; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; /** * @author xingguanghui * @create 2018-04-03 10:51 **/ @RestControllerAdvice public class ExceptionHandler { @org.springframework.web.bind.annotation.ExceptionHandler(value = Exception.class) public Object defaultHandler(HttpServletRequest req,Exception e){ e.printStackTrace(); if(isAjax(req)){ JSONObject object = new JSONObject(); object.put("code","500"); object.put("msg",e.getMessage()); return object; }else{ ModelAndView model = new ModelAndView(); model.addObject("exception",e); model.addObject("url",req.getRequestURL()); model.setViewName("error"); return model; } } /** * 判断请求是否是ajax请求 * @param req * @return */ public static boolean isAjax(HttpServletRequest req){ String header = req.getHeader("X-Requested-With"); return (header != null && "XMLHttpRequest".equals(header)); } }