我的理解是幂等请求不会改变任何东西。如果 GET 请求产生了副作用(例如,将请求缓存到搜索端点),它仍然是幂等的吗?
问问题
39 次
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 回答