Как настроить десериализацию SpringAebFlux WebClient xml + rss JAXB? - PullRequest
0 голосов
/ 02 февраля 2019

Посмотрите как пример конфигурации json для весеннего клиента webflux:

   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 в качестве декодера для веб-клиента, чтобы обеспечить согласованность реализации контроллера весенней загрузки и клиента?

1 Ответ

0 голосов
/ 06 августа 2019

Я предпочитаю классы Jaxb2XmlDecoder и Jaxb2XmlEncoder из пакета org.springframework.http.codec.xml:

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