我正在开发一个简单的RESTful API,并完全爱上它的简约性.但我不确定各种情况下的正确HTTP响应代码:
查询格式错误
正确形成的查询是指不存在的资源
资源已成功删除
资源已成功编辑
我现在想的是1 403 Forbidden
; 2会是410 Gone
; 3和4将是202 Accepted
.他们听起来不错吗?
对于#1,403建议您的应用程序理解请求,但不会实现它(即当前用户由于某种原因没有权限这样做).在这种情况下,我认为400个错误请求可能更有意义.
对于#2 - 我认为404会更有意义,即资源找不到,除非资源确实存在,然后被删除,在这种情况下410将是公平的 - 但没有多少客户知道如何处理410.
对于#3和#4 - 200,如果您成功处理了删除,则202如果删除排队并且将在以后"带外"处理.
RFC 2616为每个响应代码在可理解的术语中提供了很好的解释.