【问题标题】:How to customize SpringWebFlux WebClient xml+rss JAXB deserialization?如何自定义 SpringWebFlux WebClient xml+rss JAXB 反序列化?
【发布时间】:2019-06-26 23:07:18
【问题描述】:

查看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();

this one 相同的问题,但针对 jaxb xml 序列化。是否有 JAXB 和 xml 的解码器实现?是否可以使用HttpMessageConverter作为webclient的解码器,使spring boot控制器和客户端实现一致?

【问题讨论】:

    标签: java spring spring-boot jaxb spring-webflux


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      相关资源
      最近更新 更多