Лучшая практика для пакетных операций обновления - PullRequest
0 голосов
/ 06 марта 2019

Для моего приложения мне бы хотелось, чтобы мои конечные точки CREATE и UPDATE поддерживали как одиночные, так и пакетные вставки / обновления.

Я знаю, что обычно стандарт для этих URI будет /{resource} для POST и /{resource}/{id} для PUT.

Конечная точка POST будет работать нормально для пакетных операций.Это просто включает в себя простую проверку, если полученные данные в формате массива или нет.Однако для PUT это не сработает, поскольку для URI требуется идентификатор указанного ресурса.

Я мог бы изменить URI PUT на /{resource}, но это плохая практика?Лучше вместо этого иметь отдельные конечные точки для одиночных и пакетных операций, как для CREATE, так и для UPDATE?

1 Ответ

1 голос
/ 06 марта 2019

CRUD является основой отдыха

  1. Создать - иметь совершенно новую структуру ресурса (почти всегда пакет) через POST / {ресурс} - только партия без фильтров

  2. Получить - выбор созданного ресурса для идентификатора / пакета может быть как через GET / {ресурс} или GET / {ресурс} / {id} нужно иметь оба

  3. Обновление - обновление в основном с помощью фильтра идентификаторов PUT / {ресурс} / {id} может иметь через фильтр в основном

  4. Удалить - снова удалить весь пакет / идентификаторы Удалить / {ресурс} или Удалить / {ресурс} / {id} Нужно иметь оба

Итак, это похоже на предложение where в конце Rest's, кроме create. Вам необходимо иметь отдельные конечные точки для простоты использования, так как Rest Apis обслуживает в основном данные, а не структурные страницы ModelAndView. Следовательно, сохранение отдельной конечной точки для каждого является лучшей практикой

...