ресурсов, если запрос поступает без каких-либо данных, как команда, например, для упорядочивания сущностей (назначения им внутренних порядковых номеров), или пересчёта агрегатных значений (кеш сум, пересчётов по формулам). Факт в том, что речь идёт о командах, которые производят идемпотентные и небезопасные результаты. Из идемпотентных и небезопасных методов у нас есть только PUT. Но он как будто бы ожидает полный набор данных в пейлоаде:
> The PUT method requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload. (rfc7231)
Использует ли кто-то для подобных операций другие методы: PATCH, POST и как вы это обосновываете?
POST. Может как быть идемпотентным, так и не быть
Как это так?)) Если что-то может быть не идемпотентным, то идемпотентным его уже назвать нельзя. Таковы жесткие законы таксономии.
I don't think so. Семантика рекомендует только "этот метод идемпотентен, этот скорее нет" Дальше всё зависит от тебя, можешь сделать конкретный "POST endpoint" идемплтентным и "рассказать" об этом остальным
PUT обязан быть идемпотенстным, POST не обязан, но может.
Обсуждают сегодня