Что такое RESTful способ сделать это?
Подумайте, как бы вы сделали это с веб-сайтом.
Возможно, вы получите какую-нибудь страницу, описывающую группу;где-то на этой странице будет какой-то семантический намек, говорящий «сделать всех членов группы неактивными, отправьте эту форму. Если форма была отправлена, то ваш сервер будет отвечать за выполнение реальной работы, и вы отправите обратностраница, описывающая то, что только что произошло, со ссылками на другие интересные вещи.
Поскольку браузеры понимают HTTP и HTML, все это может быть сделано с использованием любых идентификаторов, предоставленных сервером. Сервер может изменить действиеформы, потому что браузер просто выполняет обработку формы, как описано в стандарте HTML, и использует target-uri, описанный метаданными формы.
Поскольку идентификатор может быть любым, вы можете воспользоватьсяинтересного свойства - небезопасные методы запроса (включая PUT, POST, DELETE) сделать недействительными локально кэшированные ресурсы при успешном завершении, поэтому одной интересной возможностью будет отправка данных формы обратно в /api/groups/<group_id>
и аннулирование любого более раннего копированияes этой страницы.
Будет ли PATCH / api / groups // элементы с полезной нагрузкой status = 'inactive' соответствовать REST?
Может быть - это зависитчто такое /api/groups/<group_id>/items
.
Ключевым моментом, который следует иметь в виду при использовании REST, является то, что ваша модель ресурсов - это не модель вашего домена, а не модель данных.Ресурсы поддерживают протоколы, которые мы хотим предоставить клиенту.
Подробнее об этом см. Доклад Джима Уэббера 2011 года .