Jackson - 如何在 WebClient 中不指定 @JsonProperty 的情况下设置反序列化命名策略

问题描述

据我所知,指定属性命名策略只会影响序列化,而不影响反序列化。反序列化时,即使我知道传入的 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 (将#修改为@)