“已存在”的状态代码

时间:2012-11-06 12:05:29

标签: web-services http rest webserver

类似于HTTP状态代码500-Internal Server Error,200-OK,201 Created等...是否有任何“已经存在”的代码作为来自服务器的响应,在尝试创建新对象时(如果存在相同值的对象)??

1 个答案:

答案 0 :(得分:1)

如果您的客户发送了If-None-Match - 标头,如here所述:

  

“If-None-Match:*”的含义是方法绝不可以      如果原始服务器选择的表示[...]      存在,如果表示不存在,应该执行

然后,如果存在相同的资源,则可以使用412 Precondition Failed:

进行响应
  

如果给出了“*”且该资源存在任何当前实体,那么      除非有必要,否则服务器不得执行所请求的方法      因为资源的修改日期无法匹配      在请求中的If-Modified-Since头字段中提供。   [...]服务器必须回应      状态为412(前置条件失败)。

您可以使用Etag代替*(这意味着“如果存在”),Etag基本上是服务器计算的实体的校验和。您可以通过相同的Etags检测相同的实体。