@Sour_Lemon

Как правильно отправлять файлы в RESTfull приложении?

Имеется класс Book. Помимо прочего он содержит массив байтов, представляющий собой изображение (обложку книги). Вопрос: как правильно отправить объект такого класса клиенту? Нужно отправлять изображение отдельно или сразу вместе с остальными данными? Как именно нужно отправлять изображение: в виде простого массива байтов, в виде объекта Resource или ещё каким-нибудь образом?

public class Book {
    private String title;
...
    private byte[] cover;
...
}


Расскажите (или поделитесь ссылкой) как данный процесс отправки происходит вцелом. В сети полно статьей о том как загружать и отгружать голый файл, а описание ситуации, когда файл является полем некого класса я не нашёл.
Заранее спасибо
  • Вопрос задан
  • 891 просмотр
Решения вопроса 2
Jacen11
@Jacen11
обычно ссылку на файл передают в объекте, клиент потом по ссылке качает
получается больше гибкости, клиент может не дожидаться окончания загрузки тяжелого файла и уже что то показывать. Ну и так проще обычно
Ответ написан
@Dmtm
Android
сейчас, раз уже есть массив байт, то передавать вместе с классом, так проще
а вообще - вынести работу с файлами в отдельный репозиторий (там и кеширование можно добавить для экономии) и в Book останется только имя файла
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Wan-Derer
Зобанели на Хабре, волки́ ;((
Можно разделить Java-объект на два и на фронте получать двумя разными запросами:
- описание: объект -> DTO-объект (тот же объект, но без картинки) -> JSON;
- картинка: массив -> поток -> MIME-тип картинка.
Это имеет смысл если картинка довольно большая, если только миниатюра, то можно передавать всё вместе.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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