import lombok.Getter;

@Getter
public enum ResultCodeEnum {

    /**
     * 业务处理 成功/失败
     */
    UNKNOWN_ERROR(0, "未知异常"),   // 注意是逗号
    DB_ERROR(-1, "数据库异常"),      // 注意是逗号
    SUCCESS(200, "请求成功"),       // 注意是逗号
    SERVER_ERROR(500, "服务异常");  // 最后一个是分号

    private final int code; // 定义状态码
    private final String message; // 定义状态信息

    // 构造方法
    ResultCodeEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

}

具体使用

// 获取枚举对象
ResultCodeEnum codeEnum = ResultCodeEnum.UNKNOWN_ERROR;

// 从枚举对象获取状态码
int code = codeEnum.getCode();

// 从枚举对象获取状态信息
String message = codeEnum.getMessage();

上面案例紧紧只是等价于了new ResultCodeEnum(0,”未知异常”)的作用。

枚举最佳实践 – 服务统一返回值

一个项目需要统一返回值

@Data
@AllArgsConstructor
public class ResponseEntity<T> {
    private int code;
    private String errormessage;
    private T data;

    private static <T> ResponseEntity<T> getReturnEntity(ResultCodeEnum enumEntity, T t) {
        return new ResponseEntity(enumEntity.getCode(), enumEntity.getMessage(), t);
    }

    // Main方法进行测试即可,具体使用,还得根据业务需要实现
    public static void main(String[] args) {
        System.out.println(ResponseEntity.getReturnEntity(ResultCodeEnum.SUCCESS, null));
    }

}