【问题标题】:Spring webclient add httpmessageconverterspring webclient 添加httpmessageconverter
【发布时间】:2023-01-09 07:08:43
【问题描述】:

我想将 spring resttemplate 转换为 spring webclient。 在 spring resttemplate 中我们可以添加消息转换器

How can I tell RestTemplate to POST with UTF-8 encoding?

restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));

我怎样才能在 spring webclient 中做到这一点?我想将消息转换器添加到 webclient

【问题讨论】:

    标签: spring spring-boot spring-webflux resttemplate spring-webclient


    【解决方案1】:

    在 WebClient 中,您可以使用 WebClient.builder().codecs() 设置自定义编解码器(编码器、解码器、HttpMessageReader、HttpMessageWriter)

    这是一个例子:

    WebClient.builder()
       .codecs(
            clientCodecConfigurer ->{
                // .defaultCodecs() set defaultCodecs for you
                // clientCodecConfigurer.defaultCodecs();
    
                //  You can customize an encoder based on the defualt config.
                //  clientCodecConfigurer.defaultCodecs().jackson2Encoder(...)
    
                // Or 
                // use customCodecs to register Codecs from scratch.
                clientCodecConfigurer.customCodecs().register(new Jackson2JsonDecoder());
                clientCodecConfigurer.customCodecs().register(new Jackson2JsonEncoder());
            }
    
    ).build();
    

    【讨论】:

      猜你喜欢
      • 2020-06-09
      • 2022-09-27
      • 2018-10-30
      • 2016-01-21
      • 1970-01-01
      • 2020-11-18
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多