一,没有异常的情况,正常返回数据
希望接口统一返回的数据格式如下:
{
"status": 0,
"msg": "成功",
"data": null
}
和接口数据对应的bean
/**
* 统一返回结果的实体
* @param
*/
public class Result implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 错误码
*/
private int status;
/**
* 提示消息
*/
private String msg;
/**
* 返回的数据体
*/
private T data;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
操作Result实体的工具类
/**
* 生成result的工具类,避免重复代码
*/
public class ResultUtils {
/**
* 成功时生成result的方法,有返回数据
*/
public static Result success(T t){
Result result = new Result<>();
result.setStatus(ResultEnum.SUCCESS.getCode());
result.setMsg(ResultEnum.SUCCESS.getMsg());
result.setData(t);
return result;
}
/**
* 成功时生成result的方法,无返回数据
*/
public static Result success(){
return success(null);
}
/**
* 失败时生成result的方法
*/
public static Result error(int status, String msg){
Result result = new Result<>();
result.setStatus(status);
result.setMsg(msg);
return result;
}
}
封装错误码和错误消息的枚举类
/**
* 所有返回结果的枚举
*/
public enum ResultEnum {
UNKNOWN_ERROR(-1, "未知错误"),
SUCCESS(0, "成功"),
BASIC_INFO_ID_IS_EMPTY(600, "基本信息中BasicInfoId为空"),
BASIC_INFO_ADD_TO_DATABASE_FAILURE(601, "向数据库添加基本信息失败"),
DETAILS_DATA_BASIC_INFO_ID_IS_EMPTY(602, "测试数据中BasicInfoId为空"),
DETAILS_DATA_ADD_TO_DATABASE_FAILURE(603, "向数据库添加测试数据失败");
ResultEnum(int code, String msg) {
<