У меня есть ресурс, который по сути является простым документом CRUD, который имеет небольшой поворот в том, что его можно «переключить» в «синхронизированное» состояние, где вместо использования своих текущих значений он теперь возвращает значения «родительский» документ, с которым он теперь синхронизирован.
Я пытаюсь найти ОТЛИЧНЫЙ способ моделирования этого. У ресурса есть свойство, которое указывает это состояние Synchronzied = true/false
, и свойство ParentId
, указывающее, с каким ресурсом он синхронизируется.
Один из вариантов - просто разрешить это изменить во время обновлений PUT
, но это выглядит как-то неправильно, поскольку это не часть документа, а в некотором отношении метаданные о документе. Я также рассмотрел запрос POST /document/{id}/synchronized
, в котором запрашиваемое состояние передается в качестве аргумента.
Ни то, ни другое не кажется правильным. Первые чувствуют себя немного неловко, потому что мне кажется, что я анализирую представленные данные только для одного значения, а остальные по существу отбрасываются, если мы синхронизируемся. Во втором случае неправильно создавать вложенный ресурс только для одного свойства.