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组装来满足相应的需求。