因为不同的ajax的请求,可能会有不同种的json格式。如果我们不加以规范,那么会造成如果前后端分离开发时,前端工程师在接收返回的json的时候,不明白json的含义,不方便合作分工,所以本着统一返回json的格式的原则,我们需要写一个工具类
该工具类就是用于统一返回的json数据格式
/**
* @author 14767
* 统一整个项目中Ajax请求返回的结果(未来也可以用于分布式架构各个模块见调用时返回统一类型)
* 为了防止多种多种类型的ajax请求处理返回的结果类型不统一,所以我们专门创建这个工具类用于统一ajax的返回结果的格式
*/
public class ResultEntity<T> {
public static final String SUCCESS = "SUCCESS";
public static final String FAILED = "FAILED";
/**
* 用来封装当前请求处理的结果是成功还是失败
*/
private String result;
/**
* 请求处理失败是返回的错误消息
*/
private String message;
/**
* 要返回的数据
*/
private T data;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public ResultEntity() {
}
public ResultEntity(String result, String message, T data) {
this.result = result;
this.message = message;
this.data = data;
}
/**
* 请求处理成功且不需要返回数据时的工具方法
*
* @param <Type>
* @return
*/
public static <Type> ResultEntity<Type> successWithoutData() {
return new ResultEntity<Type>(SUCCESS, null, null);
}
/**
* 请求处理成功且需要返回数据时使用的工具方法
*
* @param data 返回的数据
* @param <Type>
* @return
*/
public static <Type> ResultEntity<Type> successWithData(Type data) {
return new ResultEntity<Type>(SUCCESS, null, data);
}
/**
* 返回操作结果为失败,不带数据
* @param message
* @return
*/
public static <Type> ResultEntity<Type> failed(String message) {
return new ResultEntity<Type>(FAILED, message, null);
}
}
举例成功返回并且携带数据的样子