How to customize SpringWebFlux WebClient JSON deserialization?

后端 未结 6 497
我在风中等你
我在风中等你 2020-12-06 04:15

I\'m using a spring-webflux WebClient (build 20170502.221452-172) to access a Web application producing a stream of Entry objects (application/stream+json) like th

6条回答
  •  醉酒成梦
    2020-12-06 05:02

    Configuring globally:

    @Configuration
    public class AppConfig {
    
        private final ObjectMapper objectMapper;
    
        @Autowired
        public AppConfig(ObjectMapper objectMapper) {
            this.objectMapper = objectMapper;
            this.webClientBuilder = WebClient.builder()
                    .exchangeStrategies(exchangeStrategies());
        }
    
        private ExchangeStrategies exchangeStrategies() {
            Jackson2JsonEncoder encoder = new Jackson2JsonEncoder(objectMapper);
            Jackson2JsonDecoder decoder = new Jackson2JsonDecoder(objectMapper);
            return ExchangeStrategies
                    .builder()
                    .codecs(configurer -> {
                        configurer.defaultCodecs().jackson2JsonEncoder(encoder);
                        configurer.defaultCodecs().jackson2JsonDecoder(decoder);
                    }).build();
        }
    }
    

提交回复
热议问题