前后端,服务之接返回包装类设计规范

背景和价值

服务之接返回包装类作用
统一服务之间,以及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 架构

参考资料

posted @ 2025-05-27 16:52  向着朝阳  阅读(27)  评论(0)    收藏  举报