我有幻灯片。每个幻灯片都由幻灯片组成。
以下命令将返回幻灯片中有序幻灯片的列表:
获取 api/slideshows/123/slides
:
{
{
slideId : "22",
name : "My slide"
},
{
slideId : "25",
name : "My second slide"
},
{
slideId : "26",
name : "Another slide"
}
}
我想执行以下操作,例如:
将幻灯片 26 移动到幻灯片 22 之后的位置
公开此类请求的好方法是什么?
我们可以以不同的顺序放置整个幻灯片集合,但是如果发生更多更改,这将替换所有幻灯片数据。另外,可能需要传输大量数据。
PUT api/slideshows/123/slides
另一个选项是提供一个moveAfter
“操作”:
POST api/slideshows/123/slides/26?action=moveAfter
body:
{
referenceId : "22"
}
我知道这并不完全是 RESTful,但是还有其他实用的解决方案吗?
最佳答案
我会做这样的事情:PUT api/slideshows/123/slides/26/position 22
。
顺便说一句。挺有趣的。您可以通过两种方式做到这一点:
- 每张幻灯片都有一个唯一的 ID,与顺序无关
- id 与订单索引(或位置)相同 - 在这种情况下,您必须在每次移动后更新整个集合,因为服务器维护资源状态而不是客户端,因此速度会慢得多。
关于rest - "RESTful"API 中的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27065144/