1、自定义返回json格式
/*** Created by 菜园子 on 2019/3/25.*/
public class Result {private int code;//0请求失败;1请求成功;其它服务异常private String msg;private Object data;public Result() {this.code = 0;this.msg = "请求失败";this.data = null;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}
}
2、定义异常处理类
/*** Created by 菜园子 on 2019/3/25.* 全局404/500异常捕捉处理工具*/
@ControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler@ResponseBodypublic Result defaultErrorHandler(HttpServletRequest request,Exception e){Result result = new Result();result.setMsg(e.getMessage());if(e instanceof NoHandlerFoundException){result.setCode(404);}else {result.setCode(500);}return result;}
}
3、application配置文件中添加配置
spring:mvc:throw-exception-if-no-handler-found: true #出现错误时,直接抛出异常resources:add-mappings: false #不要为我们工程中的资源文件建立映射
第一个 spring.mvc.throw-exception-if-no-handler-found 告诉 SpringBoot 当出现 404 错误时, 直接抛出异常. 第二个 spring.resources.add-mappings 告诉 SpringBoot 不要为我们工程中的资源文件建立映射. 这两个配置正是 RESTful 服务所需要的
注意:如果SpringBoot项目中static下存放静态文件,即非前后端分离模式,设置spring.resources.add-mappings=false后静态文件访问不到。