Я создаю приложение для вызова серверной части, которая отвечает MIME-типом.
@Override
public Mono<String> getDocument() {
return webClient.get()
.uri(path)
.retrieve()
.bodyToMono(String.class);
}
Из этого запроса мне нужно сохранить заголовки ответа и передать его как ответ. Это происходит главным образом потому, что заголовки ответа содержат тип содержимого файла Dynami c. Мне нужно перенаправить эти заголовки (все полученные) в ответ API. Например:
Content-Type : application/pdf
Content-Disposition: attachment; filename="test.pdf"
Ниже приведен мой обработчик.
public Mono<ServerResponse> getDocument(ServerRequest request) {
return ServerResponse
.ok()
.contentType(MediaType.APPLICATION_PDF)
.header("Content-Disposition", "attachment; filename=\"test.pdf\"")
.body(BodyInserters.fromPublisher(documentService.getDocument(), String.class));
}
Файл поступает из API как приложение, как и ожидалось, но я не хочу жестко кодировать содержимое заголовок Как мне этого добиться?
Обновление с кодом обработчика:
public Mono<ServerResponse> getDocument(ServerRequest request) {
return ServerResponse
.ok()
.contentType(MediaType.APPLICATION_JSON)
.body(BodyInserters.fromPublisher(documentService.getDocument(), String.class));
}