如何将请求 headers 添加到 outboundGateway spring 集成 dsl
How to add request headers to outboundGateway spring integration dsl
我在 spring 集成 dsl 中找不到将 headers 添加到 outboundGateway 的函数。
.handle(outboundGateway("localhost:8080/search")
.httpMethod(HttpMethod.GET)
.expectedResponseType(Order.class))
我想添加到请求中的 headers 是
HttpHeaders headers = new HttpHeaders();
headers.setAccept(newArrayList(APPLICATION_JSON));
headers.setContentType(APPLICATION_JSON);
headers.add("Client-Id", "test");
有人可以帮我吗
正确:Spring 集成不允许直接操作 HttpHeaders
对象。相反,您应该遵循规范的消息传递方法 - 无协议 .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 集成 dsl 中找不到将 headers 添加到 outboundGateway 的函数。
.handle(outboundGateway("localhost:8080/search")
.httpMethod(HttpMethod.GET)
.expectedResponseType(Order.class))
我想添加到请求中的 headers 是
HttpHeaders headers = new HttpHeaders();
headers.setAccept(newArrayList(APPLICATION_JSON));
headers.setContentType(APPLICATION_JSON);
headers.add("Client-Id", "test");
有人可以帮我吗
正确:Spring 集成不允许直接操作 HttpHeaders
对象。相反,您应该遵循规范的消息传递方法 - 无协议 .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))