Grails 统一返回格式

102 篇文章 2 订阅

文件目录结构

 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
    }
}

使用代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值