SystemDictStarter v1.4.3.1 一种优雅的数据字典文本转换方式

栏目: 软件资讯 · 发布时间: 4年前

内容简介:在日常项目开发中,不免都会用到一些数据字典的信息,遇到这种场景通常都是后端把字典的文本转换好一起返回给前端,前端只需要直接展示即可。一般情况下后端可能需要单独给返回对象创建一个字段来存储对应的字典文...

在日常项目开发中,不免都会用到一些数据字典的信息,遇到这种场景通常都是后端把字典的文本转换好一起返回给前端,前端只需要直接展示即可。一般情况下后端可能需要单独给返回对象创建一个字段来存储对应的字典文本值,然后进行手动的处理,这种方式通常比较繁琐,在字段多的时候会增加更多的工作量。

本项目基于 Jackson 的自定义注解功能实现了这一自动转换过程,不需要在对象中定义存放字典文本的字段,只需要在字段上使用 @DictText 注解,Jackson序列化的时候即可自动把字典值转换成字典文本。

 

更新日志

v1.4.3.1 版本无新功能引入

  • 优化 @DictText 注解对数组类型字段序列化处理方式
  • 优化 @DictText 注解使用枚举配置时的序列化处理方式
  • 优化字段为 null 值时的处理方式
  • 修改序列化器的变量名称,明确变量名具体意义

 

项目地址

详细使用文档

https://gitee.com/houkunlin/system-dict-starter/blob/main/usage.md

 

注解简单使用示例

// 注解的简单使用
@Data
@AllArgsConstructor
class Bean {
    // {"userType":"1","userTypeText":"普通用户"}
    @DictText("PeopleType")
    private String userType = "1";
}

// 自定义字典文本输出字段
@Data
@AllArgsConstructor
class Bean {
    // {"userType":"1","typeText":"普通用户"}
    @DictText(value = "PeopleType", fieldName = "typeText")
    private String userType = "1";
}

// 使用分隔符来存储多个字典值
@Data
@AllArgsConstructor
class Bean {
    // {"userType":"0,1","userTypeText":"系统管理、普通用户"}
    @DictText(value = "PeopleType", array = @Array(split = ","))
    private String userType = "0,1";
}

// 使用集合来存储多个字典值
@Data
@AllArgsConstructor
class Bean {
     // {"userType":["0","1"],"userTypeText":"系统管理、普通用户"}
    @DictText("PeopleType")
    private List<String> userType = Arrays.asList("0", "1");
}

// 把集合的字典文本转换成数组形式
@Data
@AllArgsConstructor
class Bean {
    // {"userType":["0","1"],"userTypeText":["系统管理","普通用户"]}
    @DictText(value = "PeopleType", array = @Array(toText = false))
    private List<String> userType = Arrays.asList("0", "1");
}

// 转换成 Map 形式输出
@Data
@AllArgsConstructor
class Bean {
    // {"userType":{"text":"普通用户","value":"1"}}
    @DictText(value = "PeopleType", mapValue = DictText.Type.YES)
    private String userType;
}

 


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出强化学习:原理入门

深入浅出强化学习:原理入门

郭宪、方勇纯 / 电子工业出版社 / 2018-1 / 79

《深入浅出强化学习:原理入门》用通俗易懂的语言深入浅出地介绍了强化学习的基本原理,覆盖了传统的强化学习基本方法和当前炙手可热的深度强化学习方法。开篇从最基本的马尔科夫决策过程入手,将强化学习问题纳入到严谨的数学框架中,接着阐述了解决此类问题最基本的方法——动态规划方法,并从中总结出解决强化学习问题的基本思路:交互迭代策略评估和策略改善。基于这个思路,分别介绍了基于值函数的强化学习方法和基于直接策略......一起来看看 《深入浅出强化学习:原理入门》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具