Здравствуйте, RushDevion, Вы писали:
RD>2. 200 vs 201 (Created) RD>POST /api/payments { id, amount, operationType } RD>ID платежа определяет клиент (скажем, это GUID). RD>А мы со своей стороны гарантируем идемпотентность операции создания, т.е. RD>мы говорим: "если ты будешь пытаться создать платеж с одним и тем же id много раз, то для нас это нормально". RD>По HTTP протоколу POST запросы не идемпотентные, но это бывает нужно, если, например у нас слабый канал и клиент реализует какую-то политику ретрая. RD>Или клиент пропихивает платежи из своей системы в нашу в несколько потоков/процессов. RD>В этом случае: RD>201 (Created) — клиент уверен, что это именно он создал платеж. Можно, например, обновлять балансы в своей локальной системе. RD>200 OK — такой платеж уже есть, но его создали не мы. Просто игнорируем.
это явный 409 Conflict. и ни в коем случае не 200 ОК.