spring-integration - 如何将请求 header 添加到 outboundGateway spring 集成 dsl

标签 spring-integration spring-integration-dsl

我在 spring 集成 dsl 中找不到将 header 添加到 outboundGateway 的函数。

.handle(outboundGateway("localhost:8080/search")
       .httpMethod(HttpMethod.GET)
       .expectedResponseType(Order.class))

我想添加到请求中的 header 是

HttpHeaders headers = new HttpHeaders();
headers.setAccept(newArrayList(APPLICATION_JSON));
headers.setContentType(APPLICATION_JSON);
headers.add("Client-Id", "test");

谁能帮帮我

最佳答案

没错:Spring Integration 不允许直接操作HttpHeaders 对象。相反,您应该遵循规范的消息传递方法 - 无协议(protocol) .enrichHeaders():

.enrichHeaders(e -> e
                        .header(DefaultHttpHeaderMapper.ACCEPT, APPLICATION_JSON)
                        .header(DefaultHttpHeaderMapper.CONTENT_TYPE, APPLICATION_JSON)
                        .header("Client-Id", "test"))
.handle(outboundGateway("localhost:8080/search")
   .httpMethod(HttpMethod.GET)
   .expectedResponseType(Order.class))

关于spring-integration - 如何将请求 header 添加到 outboundGateway spring 集成 dsl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50176296/

相关文章:

java - SpringIntegration Cron 触发器

java - 从 Spring 集成流程中调用 Spring Controller

java - 冲刺集成: Adding/Removing topics to an MQTT inbound adapter

spring-mvc - 如何在 Spring MVC 应用程序中插入 TCP-IP 客户端服务器

java - 有没有办法使用java注释在spring-integration中编写过滤器?

spring-integration - Spring Integration Java DSL : The Http. outboundGateway 与 HttpMethod.PATCH 不起作用

java - Spring XD - 在运行时更改文件源目录

java - Spring 集成: Passing URL/Query Params programatically

java - Spring集成DSL TCP : How to prevent excessive logging of Connection refused on the client side

java - 使用 Spring Integration 5 上的 Spring Integration Java DSL 在入站 channel 上配置目录扫描器