0

我的理解是幂等请求不会改变任何东西。如果 GET 请求产生了副作用(例如,将请求缓存到搜索端点),它仍然是幂等的吗?

4

2 回答 2

2

要使操作具有幂等性,您必须能够重复它而不会造成额外的副作用。

在您的特定示例中,如果 GET 请求导致从外部源获取数据,那么问题实际上是关于该源的幂等性,尽管您提到了搜索端点,但很有可能会是这样。

这种情况下的幂等性并不能保证您每次返回的结果都是相同的,只是您可以根据需要多次调用端点而不影响系统。

编辑:一个反例:如果 GET 端点导致数据出队,即从系统中删除,从而无法再次检索,那么这将不是幂等的。

于 2016-01-06T08:39:55.173 回答
0

是的,

在描述中,缓存是在服务实现中,而不是在 GET 级别或某个中间。

副作用是服务内部的,它不会更改后续调用将返回的结果。

http://www.restapitutorial.com/lessons/httpmethods.html获取一些背景信息

于 2016-07-18T19:18:45.540 回答