如何自定义 SpringWebFlux WebClient xml+rss JAXB 反序列化



看看Spring webflux客户端的json配置示例:

   ExchangeStrategies strategies = ExchangeStrategies
        .builder()
        .codecs(clientDefaultCodecsConfigurer -> {
        //how to do the same but xml?
        clientDefaultCodecsConfigurer.defaultCodecs().jackson2JsonEncoder(new Jackson2JsonEncoder(new ObjectMapper(), MediaType.APPLICATION_JSON));
            clientDefaultCodecsConfigurer.defaultCodecs().jackson2JsonDecoder(new Jackson2JsonDecoder(new ObjectMapper(), MediaType.APPLICATION_JSON));
        }).build();
WebClient webClient = WebClient.builder().exchangeStrategies(strategies).build();

与此相同的问题,但对于 jaxb xml 序列化。是否有 JAXB 和 xml 的解码器实现?是否可以使用 HttpMessageConverter 作为 Web 客户端的解码器,以使 spring 启动控制器和客户端实现保持一致?

我的疯狂猜测是org.springframework.http.codec.xml包中的Jaxb2XmlDecoderJaxb2XmlEncoder类:

ExchangeStrategies.builder()
        .codecs(configurer -> {
            configurer.defaultCodecs().jaxb2Decoder(new Jaxb2XmlDecoder());
            configurer.defaultCodecs().jaxb2Encoder(new Jaxb2XmlEncoder());
        })
        .build();

最新更新