问题描述
据我所知,指定属性命名策略只会影响序列化,而不影响反序列化。反序列化时,即使我知道传入的 JSON 是驼峰式的,我也无法使以下配置正常工作,并且不得不在每个字段上使用 @JsonProperties
:
private final MemberApiProperties memberApiProperties;
private final WebClient webClient;
private ObjectMapper objectMapper;
public Memberapiclient(Jackson2ObjectMapperBuilder objectMapperBuilder,CustomWebClientBuilder webClientBuilder,MemberApiProperties properties) {
this.memberApiProperties = properties;
this.objectMapper = objectMapperBuilder
.propertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE)
.build();
this.webClient = webClientBuilder
.build(properties,configurer -> {
configurer.defaultCodecs().jackson2JsonEncoder(new Jackson2JsonEncoder(objectMapper));
configurer.defaultCodecs().jackson2JsonDecoder(new Jackson2JsonDecoder(objectMapper));
});
}
"I cannot get it to work"的意思是:有了这个设置,在传入的dto中,当是"id"或者"name"时,设置值;当它是“propertyName”时,该字段始终为空。只有当我设置了 @JsonProperty("propertyName")
时,propertyName
才开始为非空。
那么,有没有办法在不使用 @JsonProperty
的情况下指定反序列化的命名策略?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)