Java 带头参数的Spring集成Http OutboundGateway输出
我正在尝试对远程REST端点进行PUT,我需要为其提供凭据作为标头的一部分,但迄今为止没有成功 方法1:Java 带头参数的Spring集成Http OutboundGateway输出,java,spring,spring-integration,Java,Spring,Spring Integration,我正在尝试对远程REST端点进行PUT,我需要为其提供凭据作为标头的一部分,但迄今为止没有成功 方法1: @Bean public IntegrationFlow outboundGateway() { return flow -> flow .transform(transformer) .enrichHeaders(h -> h.header("x-api-key", "secret1
@Bean
public IntegrationFlow outboundGateway() {
return flow -> flow
.transform(transformer)
.enrichHeaders(h -> h.header("x-api-key", "secret123")
.header("contentType", MediaType.APPLICATION_JSON))
.handle(Http.outboundGateway("https://remote-service.com/car")
.mappedRequestHeaders()
.httpMethod(HttpMethod.PUT)
.expectedResponseType(String.class))
.log();
}
我一直得到403分
我通过RestTemplate轻松实现了这一点:
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(getHeaders());
restTemplate.put("https://remote-service.com/car", request);
...
private HttpHeaders getHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.add("x-api-key", "secret123");
return headers;
}
HttpEntity请求=新的HttpEntity(getHeaders());
restTemplate.put(“https://remote-service.com/car“,请求);
...
私有HttpHeaders getHeaders(){
HttpHeaders=新的HttpHeaders();
标题。添加(“x-api-key”、“secret123”);
返回标题;
}
如何使用Http OutboundGateway发送此x-api-key头及其值
谢谢。x-api-key不是标准的http头,因此您需要将其传输:
.mappedRequestHeaders(*)
对于您的Http.outboundGateway()
有关更多信息,请参阅文档: