Releases: luo-zhan/EasyEnum
Releases · luo-zhan/EasyEnum
v1.3.1
v1.3.0 优化过期枚举功能的设计
背景
老版本中Dict.getAll(Class)
方法获取枚举所有元素时,每个元素中都会包含code
、text
、isDeprecated
(是否废弃)三个属性,但是大部分情况下枚举中的isDeprecated
的值是false,这样在前后端数据交互时会造成不必要的性能浪费。
改变
所以优化了这部分设计,增加了一个重载方法:Dict.getAll(Class, boolean)
,第二个参数表示是否排除过期元素,默认是false,所以当前端只需要未过期的枚举元素时,传true即可:
enum SexEnum implements Dict<Integer>{
MALE(1, "男"),
FEMALE(2, "女"),
@Deprecated
UNKNOWN(3, "未知");
...
}
// 排除过期元素
Dict.getAll(SexEnum.Class, true); // [{code:1,text:"男"},{code:2,text:"女"}]
// 所有元素(不排除过期元素)
Dict.getAll(SexEnum.Class) // [{code:1,text:"男"},{code:2,text:"女"},{code:3,text:"未知"}]
v1.2.0 Mybatis开发的支持
- 支持实体类中使用枚举属性,生成sql时会自动映射成code
- MybatisPlus的QueryWrapper.eq()设置查询条件时,也支持直接使用枚举项,不需要再使用getCode()方法
- 在枚举项上使用
@Deprecated
注解后,Dict.getAll()等获取枚举集合的方法的返回结果里,该枚举会含有属性isDeprecated=true来标识过期,方便前端判断
v1.1.0 Spring开发的支持
- 针对枚举的json序列化&反序列化支持(即当接口出入参为对象时,对象中的属性支持使用枚举类型)
- 针对springmvc的converter支持(即接口的入参支持直接用枚举类型)
v1.0.0 简化枚举类定义
🎉🎉🎉
开启枚举使用新姿势