169 похожих чатов

Всем привет. Вопрос про rest и PUT метод (обновление сущности)

в конкретном кейсе:
Есть товар у которого есть перечень его изображений и наименование (на самом деле других атрибутов много). Пользователь на детальной странице товара вносит изменения в товар и отправляет запрос на бэкенд (spring), т. е. карточка сохраняется вся одним запросом (нет patchей). Но вот вопрос - если пользователь не изменял изображение товара и они уже есть сохраненные в БД (точнее есть в s3 и есть ссылка на него) как понять а обработчике запроса на бэкенде, что это изображение не менялось, а загрузить на s3 только новые изображения?
Приведу пример:
Есть сохраненный товар: "Коньки"
У него есть три изображения:
Коньки1.jpg
Коньки2.jpg
Коньки3.jpg

Пользователь заходит на детальную карточку товара, добавляет еще одно изображение товара "Коньки4.jpg" и нажимает кнопку сохранения карточки.
Как при обработке запроса на бэкенде понять, что первые три изображения у нас уже есть и нам нет смысла повтороно их загружать в S3, а нужно загрузить только 4? Каждый раз пересохранять изображения при PUT не хочется.
Если у нас REST и на бэкенд отдается JSON, то получается в конечно итоге на бэкенде будет multipart/form-data запрос из которого мы можем распарсить MultipartFile, но чет не догоняю что делать с изображениями.

6 ответов

19 просмотров

Посчитать хэши и сравнить с хэшами сохранённых?

Ну, сравнивать файлы целиком ещё дольше.

При загрузке старых картинок с бэка, можно дополнительно отправлять их уникальный ID. Тогда при отправке старых + новых картинок, можно грузить картинки у которых нет ID

Кирилл-Веревкин Автор вопроса

Правильно примерно понял, что что-то такое в итоге. На бэке проверяем заполненность fileId и если он заполнен, то берем существующий элемент, если нет, то забираем MultipartFile из data секции.

Да, идея примерно такая

Кирилл-Веревкин Автор вопроса

ок, спасибо. Подумаю над вариантом.

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

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта