相关疑难解决方法(0)

811
推荐指数
13
解决办法
22万
查看次数

使用http DELETE删除资源

因此,假设Http中的DELETE谓词是幂等的,当我发出以下请求时,第二个(或第三个,或第四个,等等)会发生什么?

DELETE /person/123
Run Code Online (Sandbox Code Playgroud)

第一次,资源被删除,我返回204(成功,没有内容).我应该在后续电话或404(未找到)上返回204吗?

rest http http-delete

109
推荐指数
4
解决办法
6万
查看次数

什么是HTTP方法的幂等性?

我已阅读HTTP文档,但我无法理解Idempotency是什么.请有人帮帮忙.提前致谢.

http

28
推荐指数
2
解决办法
2万
查看次数

PUT/DELETE是否是REST自动的幂等功能?

我正在学习REST和PUT/DELETE,我已经读过这两个(以及GET)是幂等的意思是多个请求使服务器进入相同的状态.

重复的PUT/DELETE请求是否会离开Web浏览器(使用时XMLHttpRequest)?换句话说,服务器是否会为每个PUT请求更新相同的数据库记录,还是会自动忽略重复的请求?

如果是,那么使用PUT或DELETE与使用POST有何不同?

我读了一篇文章,建议RESTful Web服务是前进的方向.HTML5表单不支持PUT/DELETE方法有什么特别的原因吗?

rest http

23
推荐指数
2
解决办法
2万
查看次数

HTTP PUT和DELETE的幂等性

所以HTTP规范说HTTP PUT和DELETE应该是幂等的.这意味着,对具有相同正文的同一URL的多个PUT请求不应导致服务器上的其他副作用.多个HTTP DELETE也是如此,如果将2个或更多DELETE请求发送到同一个URL,则第二个(或第三个等)请求不应返回指示资源已被删除的错误.

但是,在处理完DELETE之后,PUT对URI的请求呢?它应该返回404吗?

例如,请考虑以下顺序执行以下请求:

  • POST/api/items - 创建item资源,返回HTTP 201和URI/api/items/6
  • PUT/api/items/6 - 更新与item#6 相关的数据
  • PUT/api/items/6 - 只要请求体与先前的PUT相同,就没有副作用
  • DELETE/api/items/6 - 删除item#6并返回HTTP 202
  • DELETE/api/items/6 - 没有副作用,并且还返回HTTP 202
  • GET/api/items/6 - 这将返回404
  • PUT/api/items/6 - 这里应该发生什么?404?409?别的什么?

那么,如果PUT与获取和返回404一致,或者像@CodeCaster建议的那样,409会更合适吗?

api rest http asp.net-web-api

8
推荐指数
1
解决办法
2181
查看次数

并发环境中的幂等PUT

上下文

我有一个REST API,其中多个客户端(应用程序)可以使用PUT更新资源的状态.例如,此资源是您可以转动的灯ONOFF.

当系统检测到发生电力故障时,该资源也会自动更新,导致灯处于BROKEN state. I want to made the distinction between BROKEN状态.我想区分OFFBROKEN,一盏灯ON不能转PUT!

问题

我用PUT http://address:port/my_lamp { "state": "ON"} 方法来做这件事,比如说PUT

但我不确定我是否尊重ON方法的幂等属性.事实上,我有3个案例:

  • 灯是ON.上面的代码导致了ON状态.
  • 灯是ON.上面的代码导致了BROKEN状态....很酷!此时,幂等性仍然有保证:-)!
  • 灯是503 Service Unavailable.上面的代码会导致错误,例如PUT

我不确定正确理解幂等性的概念.相信我,我读了很多关于它的事情,但仍然有点困惑.

在我的理解中,多个BROKEN总是导致资源的相同状态:在我的情况下不能保证由于PUT

但我也可以用另一种方式来理解它:多重ON总是导致相同的副作用:保证,我的请求要么产生转动BROKEN,要么没有(对于这种ON情况,它已经存在).

编辑:

我的意思是:唯一的副作用是转动ON灯泡,这是保证的(它要么开启,要么在这里什么都不做)

请参阅此处:REST DELETE真的是幂等的吗?

哪一个是正确的?根据理解,我的REST API确保了幂等性能......

EDIT2:

W3C …

api rest http idempotent

6
推荐指数
1
解决办法
1172
查看次数

HTTP DELETE 方法幂等性

只是一个关于 REST Web 服务HTTP DELETE方法的基本问题。根据 HTTP 协议文档,DELETE是幂等的。但是我们第一次发送时,您会收到 200 响应代码,随后的请求会收到 404 错误,因为该资源不存在。那么,如果响应不同,为什么它会被称为幂等呢?

rest service http http-delete web

1
推荐指数
1
解决办法
464
查看次数