Spring Integration nutzt eigene ObjectMapper. Möchte man aber genau diesen konfigurieren, dann kommt man nicht umhin, einen eigenen HttpMessageConverter zu konstruieren und diesen explizit in der Flow-Definition zu setzen:
@Bean
IntegrationFlow flow() {
return IntegrationFlows.from("channelname")
.handle(Http.outboundGateway("http://server/api?query")
.httpMethod(HttpMethod.GET)
.messageConverters(customMessageConverter())
.expectedResponseType(new ParameterizedTypeReference<CustomViewType>() {
})
.requestFactory(requestFactory)
)
.handle(spec -> customService.doSomething((CustomViewType) spec.getPayload()))
.get();
}
private HttpMessageConverter<?> customMessageConverter() {
return new MappingJackson2HttpMessageConverter(objectMapper());
}
private ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(...);
// eigene Konfiguration hier
return mapper;
}