Spring integration 如何将请求头添加到outboundGateway spring集成dsl

Spring integration 如何将请求头添加到outboundGateway spring集成dsl,spring-integration,spring-integration-dsl,Spring Integration,Spring Integration Dsl,我在spring integration dsl中找不到向outboundGateway添加头的函数 .handle(outboundGateway("localhost:8080/search") .httpMethod(HttpMethod.GET) .expectedResponseType(Order.class)) 我想添加到请求中的标题是 HttpHeaders headers = new HttpHeaders(); headers.setAccept

我在spring integration dsl中找不到向outboundGateway添加头的函数

.handle(outboundGateway("localhost:8080/search")
       .httpMethod(HttpMethod.GET)
       .expectedResponseType(Order.class))
我想添加到请求中的标题是

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

有人能帮我一下吗?

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


很抱歉,这些头没有传递给客户端,我的wiremock抱怨说“头不存在”以匹配存根。我通过将
.mappedRequestHeaders(“客户端Id”,DefaultHttpHeaderMapper.ACCEPT,DefaultHttpHeaderMapper.CONTENT_TYPE)
添加到OutboundGateway,或者您可以使用
*
。很抱歉,我一直很忙,但很高兴您在没有帮助的情况下找到了答案!无论如何谢谢你的帮助,我不想使用*因为我有一些流头变量,我不想发送给客户端
.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))