feign接口调用,null序列化异常

Blade 未结 1 172
56956808
56956808 剑圣 2025-02-25 16:08

一、该问题的重现步骤是什么?

  1. 升级到4.4后,调用feign接口的服务,客户端 对象String类型序列化 null 变成了 "", 导致服务端接收的对象属性变成了""。 mapper.update(对象),将所有null属性都更新成了""; 


JacksonConfiguration.java

(Boolean..equals(properties.getNullToEmpty())) {
    objectMapper.setSerializerFactory(objectMapper.getSerializerFactory().withSerializerModifier(BladeBeanSerializerModifier()))objectMapper.getSerializerProvider().setNullValueSerializer(BladeBeanSerializerModifier.NullJsonSerializers.)}

注释掉上述代码后,解决问题。


feign调用,经过客户端序列化->服务端反序列化。需要考虑客户端序列化造成的影响。


二、你期待的结果是什么?实际看到的又是什么?

blade.jackson   序列化增强, 在api接口层就好了,feign层反序列化无法还原原始对象。

如:字符串类型,数组类型,枚举类型等null值,反序列化还原错误或反序列化错误。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX 4.4


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
代码语言
提交回复