我的理解是,幂等请求不会改变任何东西。如果GET请求产生副作用(例如,将请求缓存到搜索端点),它仍然是幂等的吗?
答案 0 :(得分:2)
要使一个行为是幂等的,你必须能够重复它而不会产生额外的副作用。
在您的具体示例中,如果GET请求导致从外部源获取数据,那么问题实际上是关于该源的幂等性,但是如果您提到搜索端点,则可能会出现这种情况。
在这种情况下的幂等性并不能保证每次返回的结果都是相同的,只要您可以根据需要多次调用端点而不影响系统。
编辑:一个反例:如果GET端点导致数据被排队,即从系统中删除,使其无法再次被检索,那么这将不是幂等的。
答案 1 :(得分:0)
是的,
在描述中,缓存是在服务实现中,而不是在GET级别或某些中间。
副作用是服务的内部效果,它不会改变随后调用返回的结果。
下的GET下的一些背景知识