Не удалось добавить заголовки ответов в потоковый ответ RestTemplate
В моем приложении с весенней загрузкой у меня есть конечная точка GET. Когда мы вызываем эту конечную точку GET, приложение отправляет запрос GET в другую службу с помощью RestTemplate и возвращает тот же файл ответа, что и ответ на запрос GET. С помощью приведенного ниже кода я могу получить файл ответов. Но мне нужно установить те же заголовки, которые я получил для запроса RestTempate. Как это сделать.
@GetMapping(value = URL_CONTENT_ID, produces = {MediaType.APPLICATION_OCTET_STREAM_VALUE, APPLICATION_ZIP_VALUE,
MediaType.TEXT_HTML_VALUE})
@ControllerLogging
public ResponseEntity<StreamingResponseBody> getContentFile(@PathVariable String contentId) {
StreamingResponseBody responseBody = outputStream -> {
getContentFile(outputStream, contentId);
outputStream.close();
};
return ResponseEntity.ok()
.body(responseBody);
}
public void getContentFile(OutputStream outputStream, String nodeId) {
RequestCallback requestCallBack = request -> {
HttpHeaders headers = new HttpHeaders();
authenticationHelper.apply(headers::set);
request.getHeaders().addAll(headers);
};
ResponseExtractor<OutputStream> responseExtractor = clientHttpResponse -> {
InputStream inputStream = clientHttpResponse.getBody();
StreamUtils.copy(inputStream, outputStream);
return null;
};
restTemplate.execute(dcmUrl + nodeId, HttpMethod.GET, requestCallBack, responseExtractor);
}