如何处理GET请求和(不)更改应用程序状态?

时间:2015-06-20 09:06:27

标签: rest http httpverbs idempotent

这是关于GET方法的一般性问题。

想象一下,我需要存储用户选择的最后一个分页大小:

+-------------+   +-------------+    +--------------------+    +----------+
| Size change |-> | GET request | -> | Server store pref. | -> | Response | 
+-------------+   +-------------+    +--------------------+    +----------+

浏览产品列表当然是GET请求,更改分页大小也是GET请求(我们只更改size参数):

<ul>
    <li><a href="/catalog/browse/size=10&page=1">size 10</a></li>
    <li><a href="/catalog/browse/size=25&page=1">size 25</a></li>
    <li><a href="/catalog/browse/size=50&page=1">size 50</a></li>
</ul>

每次用户更改尺寸时,我需要在后端存储新尺寸

如何处理GET不应该改变状态的事实?发出查询(因此更改应用程序的状态)费用对我来说是错误的。还有其他选择吗?

  

GET请求指定资源的表示。要求   使用GET应该只检索数据,不应该有任何其他影响。

0 个答案:

没有答案