网站查询ip解析2022年五月份热点事件
现在开发过程中主要采用前后端分离的方式进行开发测试,也就是前端封装请求,后端提供标准的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 ResponseResult<T> {
  
     /**
      * 状态码
      */
     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> ResponseResult<T> 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 ResponseResult<T> getApi(输入参数){
。。。。。。。。。。。。。。。。。
return new ResponseResult<>(code, msg, data);
//或者使用
return ResponseResult.setCommonStatusAndData(ResultCode.SUCCESS,user)
}
