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

Возникла такая задачка. Есть публикация с полем ресурсы (массив) внутри

ресурса лежат определенные поля. Нужно организовать partial update этого поля (изменения порядка, добавление, удаление, изменение значения полей ресурса). В голову пока лезет 2 варианта:
1. Бэк просто предоставляет интерфейс к изменению этого поля, фронт сам все просчитывает и отправляет каждый раз полный массив со всеми изменениями.
2. Или я делаю на каждое действие свой отдельный эндпоинт но в этом случае получается большое количество запросов в бд.
Что правильнее?

3 ответов

11 просмотров

Первый подход ИМХО более правильный. Юзер подтвердил действие данные ушли на бек. А при втором что делать, если фронт подергал эндпойнты, а пользователь передумал или коннект оборвался?

Murad-Akhundov Автор вопроса
Oleksij Kyslytsja
Первый подход ИМХО более правильный. Юзер подтверд...

Но тогда получается что логика переносится на фронт

мало инфы, не оч понятно насколько сложно потом будет разбираться как че сохранять, как валидировать, нужна ли история изменений/аудит, как потом это может все меняться и как это влияет на выбор. нет смысла делать много эндпоинтов, можно иметь просто один rpc эндпоинт и все. Но это не значит что у нас круд ui и оно тебе обязано все слать. Тут уже вопрос как логика на клиенте организована и как работа с данными происходит. даже такие там вещи как лайв апдейты, или там возможность сохранять драфты изменений и т.д. будут влиять

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

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

Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
generic procedure function test<T>(param: T); type case T of longint: NewT = word; longword: NewT = byte; end; var v1: NewT; Как это можно сделать? Чтобы у меня...
notme
21
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
Всем добрый вечер. Нужна помощь с прикруткой telegram-vapor-bot к проекту Vapor. Удалось после старта приложения отправить тестовое сообщение в бот, вот только сразу после это...
advanc3d
3
program Project1; procedure generic_proc<T>(); begin end; begin generic_proc<Int64>(0); end. Я чет не понял, а как в Delphi сделать такое? процедуру-дженерик... PS: а на...
notme
10
Кстати, что FPC мешает сделать нормальные проперти в юнитаз, завызанные на переменные? Нет, инлайнинг геттеров и геттеров кажется работает в принципе, но это же сколько лишн...
Arioch The
8
Хотел уточнить: копирование из одного рекорда в другой однотипный рекорд можно только по полям отдельно или можно чохом, типа Assign?
Ed Doc
9
Похоже опять туплю задача https://stepik.org/lesson/5431/step/8?unit=1132 код и его работа https://play.haskell.org/saved/lmYTShXM на мой взгляд все правильно, и даже избыто...
Fedor
8
Sometimes I like to solve problems the hard way. What do I mean? You know many problems can be fixed by restarting the system, but how much do you learn about the system? P...
Matthias Hoffmann
1
что-то я не понимаю, в линуксе отладочную информацию как убрать из бинаря? он что с этой опцией, что без - одного и того же (достаточно большого) размера (да, я про лазарь)
Iluha Companets
13
Карта сайта