Мне нужно реализовать logi c в моем API RESTful (пока), чтобы деактивировать все устаревшие элементы в коллекции. Для этого обязательства я хочу выполнить безопасную и атомарную c операцию изнутри API, поэтому вместо PUT/PATCH /collection/item-ID
с каждым новым состоянием делайте это одним и атомарным c способом с точки зрения клиента. Что-то вроде PUT /collection/deactivate-outdated
.
Меня интересует, как это сделать, следуя наиболее точной спецификации REST. Как указывают некоторые источники, не должно существовать действий в ресурсе RESTful 1 , но другие 2 уточняют, можно ли выполнять такие не RESTful-операции.
На данный момент я знаю, что эта операция больше не будет RESTful, но я хотел бы сделать ее максимально приближенной к спецификации REST. Какой случай будет более подходящим?
При этом каждый элемент коллекции имеет поле updated_at
, из которого выводится, если элемент устарел или нет.
POST /collection/action/deactivate-outdated
PUT /collection/deactivate-outdated