vitya_brodov
@vitya_brodov
Java dev

Почему PDF не передается?

Есть сервис который пост запросом принимает тело ввиде json и в ответ выдает PDF с заполненными данными из json.

@PostMapping(value = "/pdf", produces = MediaType.APPLICATION_PDF_VALUE)
    public ResponseEntity<byte[]> getPdf(@RequestBody Insurance insurance) {
        byte[] pdf = pdfService.generatePdf(insurance);
        return ResponseEntity.ok()
                .contentType(MediaType.APPLICATION_PDF)
                .body(pdf);
    }


Через POSTMAN и браузер все четко работает (комп и телефон), а через программу, для мобилки не работает:
Не документированная ошибка: java.io.IOException: Broken pipe
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class ru.dd..exception.ApiError] with preset Content-Type 'application/pdf'


Вопрос: Были ли такие кейсы у Вас и как Вы решали?
P.s Если не было, то как Вы решили бы?
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Dementor
программист, архитектор, аналитик
Через POSTMAN и браузер все четко работает, но через мобилку выдает ошибку

Что это означает? Через браузер на компе работает, а через браузер на мобилке нет? Или скорее через браузер на мобилке работает, а через некоторую программу, которую вы пишите для мобилки не работает и это именно она выдает "java.io.IOException: Broken pipe"?

В правильной постановке вопроса уже есть половина ответа. Пока выглядит, что у вас код для мобилки неправильно работает - закрывает соединение получив заголовки и не закачивает тело.

Плюс хоть немного погуглите свои ошибки - может там уже сразу решение есть. Например тут: https://www.baeldung.com/spring-no-converter-found
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы