文件目录结构
Result.groovy
package middol.result
/**
* @Description: 输出结果对象
* @Author: zhangjiayu@middol.com
* @CreateDate: 2020/3/19 10:55
* @Version: 1.0
*/
class Result implements Serializable{
private static final long serialVersionUID = 1L;
private String code = 0
private String message = "操作成功"
private Object data
Result(){}
Result(String code, String message, Object data) {
this.code = code
this.message = message
this.data = data
}
static long getSerialVersionUID() {
return serialVersionUID
}
String getCode() {
return code
}
void setCode(String code) {
this.code = code
}
String getMessage() {
return message
}
void setMessage(String message) {
this.message = message
}
Object getData() {
return data
}
void setData(Object data) {
this.data = data
}
}
ResultUtils.groovy
package middol.result
import middol.enums.ResultCodeEnum
/**
* @Description: 统一返回工具类
* @Author: zhangjiayu@middol.com
* @CreateDate: 2020/3/19 12:17
* @Version: 1.0
*/
class ResultUtils {
static Result ok(){
return put(ResultCodeEnum.OK)
}
static Result ok(Object data){
return put(ResultCodeEnum.OK, data)
}
static Result ok(String msg){
return put(ResultCodeEnum.OK, msg)
}
static Result error(String msg){
return put(ResultCodeEnum.ERROR, msg)
}
static Result error(String code, String msg){
return put(code, msg)
}
static Result error(ResultCodeEnum resultCodeEnum){
return put(resultCodeEnum)
}
static Result error(ResultCodeEnum resultCodeEnum, Object data){
return put(resultCodeEnum, data)
}
private static Result put(ResultCodeEnum resultCodeEnum){
return put(resultCodeEnum.getCode(), resultCodeEnum.getMsg(), null)
}
private static Result put(String code, String msg){
return put(code, msg, null)
}
private static Result put(ResultCodeEnum resultCodeEnum, Object data){
return new Result(resultCodeEnum.getCode(), resultCodeEnum.getMsg(), data)
}
private static Result put(String code, String msg, Object data){
return new Result(code, msg, data)
}
}
ResultCodeEnum.groovy
package middol.enums
/**
* @Description: 返回结果枚举
* @Author: zhangjiayu@middol.com
* @CreateDate: 2020/3/19 11:01
* @Version: 1.0
*/
enum ResultCodeEnum {
/**
* 成功
*/
OK("200", "操作成功!"),
/**
* 通用参数错误
*/
AUTH_ERROR("401", "认证失败!"),
/**
* 通用参数错误
*/
VALIDATE_ERROR("422", "校验不通过!"),
/**
* 数据不存在
*/
NOTFOUND("432", "数据不存在!"),
/**
* 通用参数错误
*/
ERROR("500", "参数错误!"),
/**
* 系统异常
*/
SYSTEM_ERROR("501", "系统异常,请联系管理员!"),
/**
* 获取结果异常
*/
RESULT_NULL("10002","获取结果为空"),
/**
* 参数为空
*/
NO_ARGS("20000", "参数不能为空!"),
/**
* 非法参数
*/
ARGS_ERROR("20001","非法参数!"),
/**
* 没有访问权限
*/
NO_AUTH("403", "没有访问权限!");
private String code
private String msg
ResultCodeEnum(String code, String msg) {
this.code = code
this.msg = msg
}
String getCode() {
return code
}
void setCode(String code) {
this.code = code
}
String getMsg() {
return msg
}
void setMsg(String msg) {
this.msg = msg
}
}
使用代码