我有一个包含以下数据的表:
id position name
== ======== =========
1 4 Fred
2 2 Wilma
3 1 Pebbles
4 5 Barney
5 3 Betty
这是供用户重新排列的列表(因此在位置列中)。我的问题是,我怎样才能轻松地做到这一点。例如,如果我想将Fred移到位置2,我将如何发送请求?
目前,我有这样的事情:
PUT /user/1/reorder/2
这会将当前位于位置4的用户1(Fred)移至位置2。SQL代码还将运行查询,该查询将更改其他用户的位置以适应Fred的新位置。
正确的RESTful方法是什么?
最佳答案
为了有效地执行此操作,请使用哈希表,并且从不对所有内容进行重新排序,只需通过更改索引键将它们置于两者之间。我什么意思
可以说
1 a
2 b
3 c
4 d
5 e
PUT /user/1/reorder/2
在内部,位置也会从索引中的位置导出
1 2 b
2 2.5 a
3 3 c
4 4 d
5 5 e
正如Kajow所指出的,这种方法有两个问题:
要解决它们:
关于rest - 以RESTful方式重新排序商品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54682775/