In the development, which often need to return the data to the page, then how the data to the page it? This paper presents a specification:
1. Customize the interface enumeration results
public interface BSBaseResult {
String getCode();
String getDesc();
}
2. Write an enumeration class that implements the above interfaces
public enum BSBaseResultEnum implements BSBaseResult {
SUCCESS("1000", "操作成功"),
FAIL("1001", "操作失败");
private String code;
private String desc;
BSBaseResultEnum(String code,String desc){
this.code = code;
this.desc = desc;
}
public String getCode(){ return this.code; }
public String getDesc(){ return this.desc; }
@Override
public String toString() {
return "ErrorCodeEnum{" + "code='" + code + '\'' + ", desc='" + desc + '\'' + '}';
}
}
3. Write the return value of the entity classes
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ReturnData<T> implements Serializable {
private String code;
private String desc;
private T data;
}
4. Return value written tools BSResultUtil
public class BSResultUtil {
/**
* 成功返回
*/
public static <T> ReturnData<T> returnSuccess(T data, BSBaseResultEnum enum){
ReturnData<T> result = new ReturnData<>();
result.setCode(enum.getCode());
result.setDesc(enum.getDesc());
result.setData(data);
return result;
}
/**
* 错误返回
*/
public static <T> ReturnData<T> returnError(BSBaseResultEnum enum){
ReturnData<T> result = new ReturnData<>();
result.setCode(enum.getCode());
result.setDesc(enum.getDesc());
return result;
}
/**
* 错误返回
*/
public static <T> ReturnData<T> returnError(String code, String desc){
ReturnData<T> result = new ReturnData<>();
result.setCode(code);
result.setDesc(desc);
return result;
}
}
5. Use
BSResultUtil.returnSuccess(data,BSBaseResultEnum.SUCCESS)