Есть API сервер со SpringBoot. Клиент отравляет POST-запрос c Json в теле. Из этого Json сервер создает pdf и этот pdf надо отправить обратно клиенту.
Вот метод принимающий JSON объект от клента, и конвертящий его в pdf. Как вернуть в этом методе файл для клиента? Я понимаю что надо в бинарный вид перевести сначала. Не понимаю как вернуть именно в этом методе. Какой тип возвращаемого значения должен быть?
@PostMapping()
public void createOrder(@RequestBody PaymentOrder order){
PdfCreater.createPdf(order);
}
Попробуйте так написать:
@PostMapping()
@ResponseBody
public ResponseEntity<Resource> createOrder(@RequestBody PaymentOrder order){
final Resource file = PdfCreater.createPdf(order);
return ResponseEntity
.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getFilename() + "\"")
.body(file);
}
Resource из массива байт можно получить с помощью ByteArrayResource
Сборка персонального компьютера от Artline: умный выбор для современных пользователей