3

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

4

1 回答 1

1

如果您的客户发送一个像这里If-None-Match描述的 -header :

"If-None-Match: *" 的含义是,如果源服务器选择的表示存在 [...],则不能执行该方法,如果表示不存在,则应该执行该方法

然后,如果存在相同的资源,您可以响应 412 Precondition Failed:

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

您也可以使用 Etag 代替 *(意思是“如果存在任何东西”),它基本上是服务器计算的实体的校验和。您可以通过相同的 Etag 检测相同的实体。

于 2012-11-06T12:09:29.530 回答