Re[18]: Идемпотентность POST - хорошая ли практика?
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.09.22 07:35
Оценка:
Здравствуйте, gandjustas, Вы писали:

P>>>>Всех участников

G>>>И как клиент может проконтролировать?
G>Какие обязанности у клиента?

Обычные — сделать запрос в соответствии с его семантикой. Если АПИ говорит о том, что операция идемпотентна, то на клиенской стороне надо сделать N соответствующих приседаний. Разумеется, это все делается самим клиентом по метаданным, а не вручную отсылая запрос POST.

P>>Из описания API. Обычно клиент генерируется, а не пишется руками.

G>В каком описании присутствует информация об идемпотентности тех или иных вызовов?

Я привел описание, вернись и посмотри. Выглядит так, будто ты накидываешь не читая.

P>>Что не так с этими операциями? Вот есть у тебя ключ x-y-z, метод POST и кучка add-remove-copy. Если сервер поддерживает идемпотентность для этой операции, то какие проблемы?

G>Я не очень понимаю что значит "поддерживает" когда мы говорим об операциях вроде add-remove-copy. В зависимости от порядка выполнения набора add-remove-copy результат может быть разный.

Что мешает зафиксировать этот порядок или вообще убрать эти add-remove-copy?

> еЕли мы повторяем вызовы, то порядок выполнения не будет совпадать с изначальным порядком вызовов.


Как то странно выполнять приседания пачкой каждый раз. Если хочешь, что бы батч, а add-remove-copy, это фактически батч, был идемпотентным, то надо приложить чуть больше усилий, чем просто выполнять каждый раз и ждать того же результата.
Например, порядок должен быть зафиксирован, эта пачка операций идет внутри транзакции, и выполняется ровно один раз, не больше, и не меньше. Отсюда не ясно, как ты собиаешься получить "разный" результат.
Отредактировано 27.09.2022 7:44 Pauel . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.