Дизайн REST API - Передача нескольких строк в запросе - кнопка Сохранить - PullRequest
0 голосов
/ 26 мая 2020

Внешний интерфейс: Передняя часть будет иметь стол. Данные будут уже заполнены в нескольких столбцах таблицы. Пользователь вводит остальные столбцы данных. В таблице будет несколько строк.

Будет две кнопки. СОХРАНИТЬ и ОТПРАВИТЬ. Кнопка SAVE предназначена для временного сохранения данных, а SUBMIT отправляет окончательные данные для сохранения.

DB: Каждая строка представляет собой запись в таблице базы данных.

Таблица и пользовательский интерфейс выглядят одинаково:

      Column1  Column2  Column3 Column4
----------------------------------------
Row1 | data   |      |  data   |
Row2 | data   |      |  data   |
Row3 | data   |      |  data   |
Row4 | data   |      |  data   |

Теперь, когда пользователь нажимает кнопку «СОХРАНИТЬ», мне нужно сохранить оставшуюся информацию столбца в база данных с использованием вызова REST API.

Как лучше всего разработать REST API?

У меня возникают вопросы, 1. Если запись одна, я могу использовать PATCH для этого. Но в запросе следует передать несколько строк. Как оформить мой запрос? 2. Следует ли мне использовать POST? 3. Должен ли я передавать все строки в виде списка? 4. Что, если пользователь нажимает «Сохранить» несколько раз? Увеличит ли это количество оставшихся вызовов и перегрузит ли сеть? Как с этим эффективно справиться?

1 Ответ

0 голосов
/ 27 мая 2020

Q1, Q2 и Q3: Вы можете использовать PATCH или POST в зависимости от нефункциональных требований вашего приложения (и личных предпочтений). Перейдите по ссылкам ниже, чтобы понять, как это можно реализовать.

REST: обновление нескольких ресурсов одним запросом - стандартно ли это или следует избегать?

В чем разница между PUT, POST и PATCH?

Q4: Вы можете задушить кнопку «Сохранить». Простая реализация - отключить кнопку «Сохранить» после ее нажатия. Этого легко добиться, набрав Javascript. Затем, как только вы получите ответ от сервера (ответ REST API), вы можете показать сообщение об ошибке (и повторно включить кнопку «Сохранить») или показать сообщение succuss на основе ответа REST API.

...