2016-10-18 1 views
3

Запрос GET на/template/settings вернет значение по умолчанию для объекта Organization. У меня есть вариант использования, когда все организации будут иметь настройки по умолчанию. При первой попытке организации получить доступ к GET/шаблону/настройкам, если нет параметров, нам нужно создать настройки, а затем вернуть их. Это побочный эффект. Что было бы лучше для этого случая?RESTful дизайн для создания, если отсутствует случай использования

Шаблоны - это новая функция, которая будет включена для организаций, которые мы выбираем. Это конкретное событие включения функции потребует POST, и это будет хороший дизайн RESTful. Когда все существующие организации включены для шаблонов, любые новые организации, добавленные в систему, не будут иметь это событие. Поэтому мне нужна конструкция create-if-absent.

Будет ли это иметь место для перенаправления на себя для создания?

+0

Как вы знаете, какие настройки используются, когда кто-то пытается получить ПОЧЕМУ что-то, что еще не существует? – bhspencer

+2

Это должно быть обработано на клиенте. Получить, если 404, Создать для создания. –

+0

Или просто просто создайте, если клиент знает, что у него нет настроек. Get должен быть idempotent –

ответ

1

Я бы порекомендовал следующее.

  1. Будет существовать один неизменяемый ресурс, представляющий начальные настройки любой новой организации.

  2. Когда новая организация получит свои настройки, она получит представление этого ресурса.

  3. Когда эта организация устанавливает или обновляет эти настройки, копия неизменяемого ресурса создается для этой конкретной организации, и эта копия обновляется.

  4. Когда организация снова установит свои настройки, она получит представление своего собственного обновленного ресурса.

Смежные вопросы