Лучший внешний интерфейс для сохранения объекта в бэкэнд до или после создания - PullRequest
0 голосов
/ 28 апреля 2020

ситуация : давайте рассмотрим базовый c процесс создания объекта на клиенте (с бэкэндом CRUD). Давайте представим, что у нас есть две кнопки «Создать» на странице.

первый случай : нажатие на первую кнопку приведет к перенаправлению на маршрут /create, где находится наша форма. После заполнения формы данными, мы публикуем ее в бэкэнд, и она получает идентификатор вновь созданного объекта.

второй случай : при нажатии на вторую кнопку будет отправлено создание запрос к бэкэнду, затем после того, как мы получим новый идентификатор объекта, мы будем перенаправлены на /edit/:id, где находится наша форма (та же форма). После того, как мы заполнили форму данными, мы отправили ее на сервер и сохранили уже существующий объект (пост по идентификатору).

вопрос : каковы плюсы и минусы этих двух случаев, когда использовать каждый из них?

1 Ответ

1 голос
/ 28 апреля 2020

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

Во втором случае вы создаете пустую запись, которая появится в сетках приложения без данных. Также, если в вашей базе данных есть обязательные поля, вы должны заполнить их данными по умолчанию. Проверка будет более сложной, так как вам нужно разрешить пустую ex Mobile при вводе данных, когда может потребоваться телефон. Другая проблема в том, что вы в основном выполняете две операции. Один - для вставки строки, а второй - для обновления строки. Однако в этой методике проще реализовать оперативное обновление текста при наборе текста, поэтому любые разъединения и т. Д. c не потеряют никаких данных. Эта методология также хороша для совместной работы двух клиентов, использующих веб-сокеты и вставляющие строку одновременно.

...