Вы можете использовать byte[]
в качестве типа возврата.
@FeignClient(url = "url", name = "name")
public interface SomeFeignClient {
@GetMapping("/give-me-a-pdf")
byte[] getPDF();
}
Ваша служба просто позвонит
public byte[] getPDF() {
return SomeFeignClient.getPDF();
}
Теперь с байтовым массивом вы можете выполнять любую операцию, которую хотите, например, сохранить файл с помощью
FileUtils.writeByteArrayToFile(new File("pathname"), resource);
или предоставить конечную точку для загрузки файла (Spring boot может вернуть практически все что угодно без использования какой-либо внешней библиотеки)
@GetMapping("/pdf")
ResponseEntity getPDF() {
byte[] resource = SomeFeignClient.getPDF();
return ResponseEntity.ok()
.contentLength(resource.length)
.contentType(MediaType.APPLICATION_PDF)
.body(resource);
}