后端返回数据规范

2024 年 12 月 5 日 星期四(已编辑)
/ , , ,
18

后端返回数据规范

问题发现

在写tgDrive的早期阶段,我想着一个小项目,应该不会有特别多的数据交互,我为了图方便,索性直接用Spring框架自带的ResponseEntity来响应,但是当项目进行下去后,我发现直接用ResponseEntity响应的话,前端的处理十分麻烦。

问题分析

ResponseEntity构建的响应中,响应体的内容就只有数据,例如返回的JSON:

{
    "name": "Alice",
    "age": 25
}

前端需要根据不同的数据写不同的解析函数,极大地增加了前端开发的负担(写死我了)。

问题解决

为了解决数据格式不一致的问题,就需要后端的响应统一,约定好响应的数据格式,就能极大地减轻开发的负担,比如,后端统一响应Result

import lombok.Data;

import java.io.Serializable;

/**
 * 后端统一返回结果
 * @param <T>
 */
@Data
public class Result<T> implements Serializable {

    private Integer code; //编码:1成功,0和其它数字为失败
    private String msg; //错误信息
    private T data; //数据

    public static <T> Result<T> success() {
        Result<T> result = new Result<T>();
        result.code = 1;
        return result;
    }

    public static <T> Result<T> success(T object) {
        Result<T> result = new Result<T>();
        result.data = object;
        result.code = 1;
        return result;
    }

    public static <T> Result<T> error(String msg) {
        Result result = new Result();
        result.msg = msg;
        result.code = 0;
        return result;
    }

}

这样一来,前端的接收数据就能很方便了,因为知道了返回的数据格式,写起解析来也是得心应手。

总结

不要偷懒啊,偷的懒到后面还得补回来的(

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...