01 原因
在数据库表结构设计过程中,常常使用status来表示当前记录的状态。返回给前端时,有时候需要后端手动调用查询数据库,返回字典翻译后的值,此操作过于麻烦。所以想使用的一个便捷的方式。
02 原理
JSON序列化时,将翻译后的值从字典中取出,动态添加到返回的的数据内
03 实现
项目采用Spring boot + Mybatis plus 进行开发 故采用了mybiatis plus的枚举接口
3.1 定义一个通用字典枚举,集成mybatis plus的IEnum
import com.baomidou.mybatisplus.core.enums.IEnum;
import com.fasterxml.jackson.annotation.JsonValue;
import java.io.Serializable;
/**
* @description: 通用字典枚举
* @author: wsat
* @create: 2019-07-04 11:56
**/
public interface IDictEnum<T extends Serializable> extends IEnum<T> {
/**
* 数据库中存储的值
* @return
*/
@JsonValue
@Override
T getValue();
/**
* 从数据库保存的字典ID
* @return
*/
String getDictCode();
}
3.2 实现该枚举
public enum RoleEnum implements IDictEnum<String> {