之所以区分幂等方法,是因为如果在
客户端能够读取服务器响应之前发生通信故障,则请求可以
自动重复。例如,如果
客户端发送PUT请求,并且底层连接在接收到任何响应之前已关闭
,那么该客户端可以建立新的
连接并重试幂等请求。它知道重复请求将具有相同的预期效果,即使原始
请求成功,尽管响应可能不同。
放置RFC状态:
如果目标资源没有当前表示,并且PUT成功创建了一个表示,则源服务器必须通过发送201(已创建)响应通知
用户代理。如果目标
资源确实具有当前表示形式,并且该表示形式
已根据所包含表示形式的状态成功修改,则源服务器必须发送200(确定)或204(无内容)响应以指示
请求的成功完成。
假设/create将创建的资源存储在DB中,那么它是否应该在第一次创建时返回201,在重试/create时返回200?Retry/Create是否应该在数据库中重新存储相同的资源以符合PUT RFC?
所以这个问题有点糊涂。让我们看看能不能解开它。
PUT /create
abcde
大致说:将/create
的状态替换为表示形式abcde
。换句话说,消息的语义大致如下
store(key => "/create", value => "abcde")
请注意,两次处理此消息所产生的效果与一次处理消息所产生的效果相同。
store(key => "/create", value => "abcde")
store(key => "/create", value => "abcde")
是的。
Retry/Create是否应该在数据库中重新存储相同的资源以符合PUT RFC?
如果资源已经具有所请求的表示形式,则不需要重新存储它。
当没有响应返回时,我需要超时我的RESTAPI。例如,当我发出请求时,如果返回响应需要5秒钟以上,则超时。 为了实现这一点,我选择了使用Hystrix的断路器。但我不确定这是否是解决此问题的正确方法,如果一切都好,是否应该对Hystrix进行更多配置? 我当前的实现看起来像, 主类 RestController 应用程序属性 当超时时,它抛出一个HystrixRunTimeException,并由
问题内容: 我试图弄清楚如何使用node.js发出HTTP PUT请求。我尝试了很多不同的方法,但是无法正常工作。 这个想法是要有一种放置文件的方法,例如: 任何帮助,将不胜感激。 问题答案: 以下是发送请求的示例:http : //nodejs.org/docs/v0.4.11/api/http.html#http.request,基本上,您只需将其更改为即可。 您可以使用createReadS
我想提出我的问题的一种方式是:如果我使用put来进行一个非幂等调用,然后使用POST来这样做,会有什么问题呢?
唯一的GET方法一直在工作,但PUT、POST和DELETE总是出错。我尝试通过网络更新处理程序映射。也可以在IIS站点下进行配置。最初,我得到了错误的状态代码405作为方法不允许。当我将处理程序映射更改为 开始将415的错误设置为“不支持的媒体类型”。以下是我收到的回复 {StatusCode: 415, ReasonPhrase:'Unsupport Media Type', Version:
作为服务提供商(SP),我正在尝试使用URL重定向流创建SLO请求。在阅读了很多文章后,这就是我想出的: 创建一个注销请求xml并对其进行数字签名 将请求xml转换为base64 url编码字符串 将base64编码的请求xml作为查询字符串附加到SLO url 将页面重定向到上述构造的url(IDP) 然后IDP将在其结束时为所有SP执行必要的SLO步骤并重定向回我们当前的应用程序(发起SLO请
尝试使用PUT请求更新数据。但是,数据没有更新和返回邮递员中的以前的数据。 邮递员提出要求: 邮递员回复: 我也尝试过使用findByIdAndUpdate。没有得到结果。任何帮助都将不胜感激。 控制器: 路由器: