-
Notifications
You must be signed in to change notification settings - Fork 152
Concurrency vs Delete operation
When requests are sent to delete resources, there are basically two cases to consider:
- you want the resource deleted no matter what
- you only want the resource deleted if you had the up to date version
Again, the ETag can be of use here.
Provide the ETag with the delete request to state that the resource should only be deleted IF the provided ETag is the correct one.
Concrete example: you search for data based on a specific criteria and decide to delete an entry that matches your search; it could be that another user updated the data, making it different enough not to match your initial search criterias, meaning that you wouldn't have considered that item for deletion with this new state
If you don't provide the ETag in a delete request, it means that the resource should be deleted whether it has changed or not.
The back-end might also decide that the ETag is mandatory and in that case it would return an 4xx error if you didn't specify the ETag.
This project is distributed under the terms of the EUPL FOSS license
REST Resources Design Workflow
REST Resources Single items and collections
REST Resources Many to many Relations
REST Resources Relations expansion
HTTP Status Codes Success (2xx)
HTTP Status Codes Redirection (3xx)
HTTP Status Codes Client Error (4xx)
HTTP Status Codes Server Error (5xx)
Pagination Out of range/bounds
Long-running Operations Example
Concurrency vs Delete operation
Caching and conditional requests About
Caching and conditional requests Rules
Caching and conditional requests HTTP headers
Error handling Example with a single error
Error handling Example with multiple errors
Error handling Example with parameters
Error handling Example with additional metadata
Bulk operations HTTP status codes
Bulk operations Resources naming convention
Bulk operations Creation example
Bulk operations Update example
Bulk operations Create and update example
File upload Simple file upload
File upload Simple file upload example
File upload Complex file upload
File upload Complex file upload example
REST Security General recommendations
REST Security Insecure direct object references