What is the HTTP response code for failed HTTP Delete operation?

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

41378 次浏览

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.

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.

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.

http-decision-diagram

enter image description here