Java类:team.bangbang.common.data.response.ResponseBase

ResponseBase类是接口响应数据,不包含业务数据,仅仅包含2个属性: 1. statusCode:响应状态码,参见team.bangbang.common.data.StatusCode类 2. message:响应消息

ResponseBase类中预置了一些常用的接口响应数据,详情参见Java doc文档。

team.bangbang.common.data.response.StatusCode

StatusCode类预置了一些常用的响应状态码,详情参见Java doc文档。

team.bangbang.common.data.response.DataResponse

一、代码说明

DataResponse类是ResponseBase类的子类,除了ResponseBase类的属性之外,通过泛型传递业务数据:

public class DataResponse<T> extends ResponseBase {
    /* 响应数据主体 */
    private T data = null;

    /**
     * @return 响应数据主体
     */
    public T getData() {
        return data;
    }

    /**
     * @param data 响应数据主体
     */
    public void setData(T data) {
        this.data = data;
    }

    /**
     * @return 转变为JSON字符串
     */
    public String toString() {
        return JSONObject.toJSONString(this);
    }
}

二、使用示例

由于DataResponse使用了泛型,可以传递任何类型的数据。因此没有必要重新构建其它的接口响应数据类。

示例,传递字符串:

// 生成验证码
String codeBase64 = getValidationCode();

DataResponse<String> dr = new DataResponse<String>();
dr.setData(codeBase64);

return dr;

示例,传递POJO:

// 将账户信息acc传递到前端
DataResponse<Account> dr = new DataResponse<Account>();
dr.setData(acc);

return dr;

三、建议

为简化代码,项目工程中可以不使用DTO、BO、VO等数据对象,直接使用业务ENTITY组装来满足相应的需求。