2

我有一个应用程序监听不同的事件源。对于这些事件中的每一个,我都构建了一个 IntegrationFlow,在这里我只是对过滤和转换等操作进行管道化,最后通过 HTTP 请求将此消息发送到另一个 API。

所有这些事件都带有我也想传播的自定义标头。

我设法通过配置 DefaultHttpHeaderMapper 来传播它们(它已经在传播标准的 http 标头,如“Accept”或“Content-Type”),但问题是我需要对每个 IntegrationFlow 执行此操作。

考虑这个例子:

    @Bean
    public IntegrationFlow eventFlow(){
        return IntegrationFlows.from(SINK)
            .filter("headers['type'] == 'POST'")
            .transform(Transformers.fromJson(Event.class))
            .handle(
                Http.outboundGateway(uri)
                    .httpMethod(HttpMethod.POST)
                    .mappedRequestHeaders("custom-header-prefix*"))
            .channel("nullChannel")
            .get();
    }

有没有办法配置这个 DefaultHttpHeaderMapper,但全局?

4

0 回答 0