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