java枚举类型变通

原始用法

public enum Color {  
  RED, GREEN, BLANK, YELLOW  
}  

开发中用法 

public enum ApiCodeEnum {
    SUCCESS(0,"ok"),
    USER_NOT_EXISTS(1,"用户不存在!"),
    CODE_ERROR(2,"验证码不正确!"),
    BUY_FAIL(3,"购买失败!"),
    NOT_LOGGED(4,"没有登录!"),
    NO_AUTH(5,"没有权限!"),
    //字段
    private Integer errno;
    private String msg;
    //构造函数
    ApiCodeEnum(Integer errno,String msg) {
        this.errno = errno;
        this.msg = msg;
    }
    //获取枚举中的数据
    public Integer getErrno() {
        return errno;
    }
    //获取枚举中的数据
    public String getMsg() {
        return msg;
    }
}

//返回成json格式封装对象
public class ApiCodeDto {
    //返回码
    private Integer errno;
    //返回内容
    private String msg;

    public ApiCodeDto() {}
    //手动创建返回信息代码及信息内容
    public ApiCodeDto(Integer errno, String msg) {
        this.errno = errno;
        this.msg = msg;
    }
    //根据枚举内容封装信息代码及信息内容
    public ApiCodeDto(ApiCodeEnum apiCodeEnum) {
        this.errno = apiCodeEnum.getErrno();
        this.msg = apiCodeEnum.getMsg();
    }
}

/*Spring MVC中返回实体对象会自动转换成json格式*/
return new ApiCodeDto(ApiCodeEnum.LOGIN_SUCCESS);

前端返回结果:

《java枚举类型变通》

 

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *