Spring integration 如何将请求头添加到outboundGateway spring集成dsl
我在spring integration dsl中找不到向outboundGateway添加头的函数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
.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))