山东省济宁市最新消息,北京seo百科,网站关键词在哪里添加,如何查询一个网站是否备案现在开发过程中主要采用前后端分离的方式进行开发测试#xff0c;也就是前端封装请求#xff0c;后端提供标准的API接口服务。一般现在json 格式受到开发者们的青睐#xff0c;学习过程中我们可以设置接口的返回类型#xff0c;那么怎么做到设置统一的返回格式呢#xff1…现在开发过程中主要采用前后端分离的方式进行开发测试也就是前端封装请求后端提供标准的API接口服务。一般现在json 格式受到开发者们的青睐学习过程中我们可以设置接口的返回类型那么怎么做到设置统一的返回格式呢以下是在项目开发过程中一般的模式标准
1、一般springboot 我们使用 SpringBoot进行开发时当我们引入 spring-boot-starter-web场景启动器后该场景中就包含了 jackson依赖不需要再额外导入并且默认开启了注解扫描驱动;但是springmvc 则 引入支持json 的jar
2、请求Controller 设置json 格式的请求一般使用RESTController 注解,这个注解s是 Controller和 ResponseBody注解的结合体具有相同的作用该注解只能标志在类上。
3、封装统一的返回对象格式一般我们有几个关键项code,msg,data ,如下
public class ResponseResultT { /** * 状态码 */ private Integer code; /** * 提示信息如果有错误时前端可以获取该字段进行提示 */ private String msg; /** * 返回的结果数据 */ private T data; private ResponseResult() { } public ResponseResult(Integer code, String msg) { this.code code; this.msg msg; } public ResponseResult(Integer code, String msg, T data) { this.code code; this.msg msg; this.data data; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg msg; } public T getData() { return data; } public void setData(T data) { this.data data; } }
-----------------使用枚举设置返回状态码及已知类型----------------
public enum ResultCode { /** * 通用状态码 */ SUCCESS(1,OK), FAILED(-1,FAIL), /* 参数错误状态码 */ PARAM_IS_INVAlID(101,参数无效), PARAM_IS_BLANK(101,参数为空), /* 用户错误 201 - 299 */ USER_NOT_LOGIN(201,未登录), USER_NOT_EXIST(202,用户不存在), USER_LOGIN_ERROR(203,登陆失败账号或者密码有误), NOT_PERMISSION(204,无权限访问), /* 业务错误 301 - 399*/ DATA_NOT_FOUND(301,没有数据); //返回状态码 private Integer code; //返回消息 private String msg; private ResultCode() { } ResultCode(Integer code, String msg) { this.code code; this.msg msg; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg msg; } }
通过在ResponseResult添加一般的返回方法设置类
public static T ResponseResultT setCommonStatusAndData(ResultCode resultCode, T data){ return new ResponseResult(resultCode.getCode(), resultCode.getMsg(),data); } public static ResponseResult setCommonStatusNoData(ResultCode resultCode){ return new ResponseResult(resultCode.getCode(), resultCode.getMsg()); } 我们的开发接口服务时可以进行使用一般
public ResponseResultT getApi(输入参数){ 。。。。。。。。。。。。。。。。。 return new ResponseResult(code, msg, data); //或者使用 return ResponseResult.setCommonStatusAndData(ResultCode.SUCCESS,user)
}