对于 Spring 来说org.springframework.web.client.RestTemplate,定义自己的 HttpMessageConverter 相对容易:
/**
* Set the message body converters to use.
* <p>These converters are used to convert from and to HTTP requests and responses.
*/
public void setMessageConverters(List<HttpMessageConverter<?>> messageConverters) {
validateConverters(messageConverters);
// Take getMessageConverters() List as-is when passed in here
if (this.messageConverters != messageConverters) {
this.messageConverters.clear();
this.messageConverters.addAll(messageConverters);
}
}
Run Code Online (Sandbox Code Playgroud)
当将我的客户端转换为响应式 WebClient 时,我没有找到像以前那样使用 RestTemplate 定义我自己的消息转换器的合适方法。
背景:我们的 Spring Boot 项目是基于 Scala 的,我们使用自己的转换器(基于com.fasterxml.jackson.module.scala.JacksonModule)来处理 Scala Case 类。