如下代码:
package com.xxxx.xxxx.handler;
import com.xxxx.xxxx.utils.ResultUtil;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
@ControllerAdvice
public class ApcExceptionHandler {
@ExceptionHandler(value = Exception.class)
@ResponseBody
public Object errorHandler(HttpServletRequest request, Exception e)
throws Exception{
e.printStackTrace();
Map<String, String> map = new HashMap<>();
map.put("exception", e.toString());
map.put("url", request.getRequestURL().toString());
return ResultUtil.error(map);
}
}
ResultUtil.java如下:
package com.xxxxx.xxxxx.utils;
import com.xxxxx.xxxxx.xxxxx.ResultVO;
public class ResultUtil {
public static ResultVO success(Object object){
ResultVO resultVO = new ResultVO();
resultVO.setCode(200);
resultVO.setMsg("成功");
resultVO.setData(object);
return resultVO;
}
public static ResultVO error(Object object){
ResultVO resultVO = new ResultVO();
resultVO.setCode(404);
resultVO.setMsg("失败");
resultVO.setData(object);
return resultVO;
}
}
运行截图如下,还是比较人性化的: