What is the HTTP response code for failed HTTP Delete operation?
HttpRestHttp Problem Overview
I have a resources with uri /api/books/122
, if this resource doesn't exist at the point where a client sends HTTP Delete for this resource, what is the appropriate response code from this action? Is it 404 Not Found?
Thanks
Http Solutions
Solution 1 - Http
The response code for a delete call can be any of the following :
-
DELETE /api/book/122
- The server successfully processed the request, but is not returning any content -
204 No Content
-
DELETE /api/book/122
- Resource does not exist -
404 Not Found
-
DELETE /api/book/122
- Resource already deleted -
410 Gone
-
DELETE /api/book/122
- Users does not have permission -
403 Forbidden
-
DELETE /api/book/122
- Method Not Allowed -
405 Method Not Allowed
-
DELETE /api/book/122
- Conflict (User can resolve the conflict and delete) -
409 Conflict
In your case 404 is apt.
Solution 2 - Http
Yes, it would be 404.
In general it will be a 400 series error if the request is wrong somehow, and a 500 series error if something goes awry on the server.
Solution 3 - Http
I would suggest taking a look at this flow diagram. It's obviously a little bit more than you need but a great resource for future readers. Sadly there is no excerpt possible.