前后端,服务之接返回包装类设计规范
背景和价值
服务之接返回包装类作用
统一服务之间,以及BFF和前端的返回对象包装类
避免丢异常信息
区分SingleResponse,MultiResponse,PageResponse 好处
- 返回值需携带扩展信息(如分页总条数、数据版本号)。
- 强调强类型约束,避免因T的泛化导致客户端误用。
- 类名直接体现返回值类型(如Single/Multi),调用方无需查看文档
Respons 基类
public class Response extends DTO {
private static final long serialVersionUID = 1L;
private boolean success;
private String errCode;
private String errMessage;
}
public abstract class DTO implements Serializable {
private static final long serialVersionUID = 1L;
}
单个对象返回值
public class SingleResponse<T> extends Response {
private static final long serialVersionUID = 1L;
private T data;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
多个对象返回对象包装类(非分页)
public class MultiResponse<T> extends Response {
private static final long serialVersionUID = 1L;
private Collection<T> data;
}
分页对象返回包装类
public class PageResponse<T> extends Response {
private static final long serialVersionUID = 1L;
private int totalCount = 0;
private int pageSize = 1;
private int pageIndex = 1;
private Collection<T> data;
}
设计多语言,建议在BFF层,将翻译好的词条给的前端。前端直接展示
参考
Cola 架构

浙公网安备 33010602011771号