RestAPI Optimistic locking
Optimistic locking використовує ETag http header approach.
Основні принципи
-
Кожен RestAPI включає контрольною сумою в ETag http_header в Response, що відправляється клієнту.
-
Кожен PUT або DELETE запит маркується ETag та If-Match інструкцією.
-
Сервер перевіряє наявність ресурсу з відповідним ID, якщо той також має контрольну суму, що відповідає значенню в ETag, перед виконанням самої операції над сутністю. Якщо ресурс на момент отримання PUT або DELETE змінився, контрольна сума не сходиться і така операція буде відхилена з 412 http status code.