springboot~将一个Integer类型序列为k/v对象

在处理带有固定标签的字段时,通常在数据库中存储字典code。本文介绍如何在SpringBoot中,利用JsonSerializer将Integer类型的字典字段序列化为Key-Value对象。示例中展示了如何定义DictionarySerializer并在实体中声明gender字段,使得接口返回的对象中,gender字段已转换为字典对象。实际应用中,推荐通过缓存来实现这一过程。
摘要由CSDN通过智能技术生成

对于一些带着固定标签的字段来说,我们通常把它们配置到字段中,而在数据库中存它们的字典code,或者是字典主键,不是一个整型的数字,而在前端显示时,有时需要将它们翻译成名称,这时后端可以帮他们进行翻译,或者前端通过code自己使用字典翻译;下面说一下第一种,后端在View model中将integer类型的字典字典翻译成一个k/v的对象。
JsonSerializer

一个json序列化的基类,我们可以继承它,并实现自己的原因,在springboot框架中,你返回的json对象事实上是jackson帮我们做了一次序列化工作,而我们的字段如果希望在序列化时行加工,可以利用这个环节,下面定义一下DictionarySerializer,来实现字典字段的序列化。

/**
 * 自定义序列化器,将一个Integer类型的字段序列化成一个name/code的对象
 */
public class DictionarySerializer extends JsonSerializer<Integer> {
    @Autowired
    DictionaryMapper dictionaryMapper;

    @Override
    public void serialize(Integer value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        //获取当前字段的名称
        String type = jsonGenerator.getOutputContext().getCurrentName();
        Integer code = (Integer) value;
        jsonGenerator.writeStartOb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值