Я пытаюсь сделать PUT на удаленной конечной точке REST, для которой мне нужно предоставить учетные данные как часть заголовков, но пока безуспешно.
Подход 1:
@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;
}
Как я могу отправить этот заголовок x-api-key и его значение с помощью Http OutboundGateway?
Спасибо.