这个标题有很多问题,但读过它们后,我不认为它们中的任何一个回答了我的特定问题。RESTful API中的动态资源
我在设计我喜欢称之为“REST风格的互联网点唱机”。基本上,这是一个REST风格的api,可以通过搜索查询访问各种互联网音乐服务(如youtube),下载音乐并将其添加到MPD播放列表中。我已经实现了一个原型,它的工作很好,但我不喜欢我的API的设计,特别是关于播放列表管理。
现在,我有一个播放列表端点,启用了“GET”和“PUT”。现在,get返回每首歌曲的JSON表示列表(保存的歌曲的文件名及其长度)。 Put允许您,如果您知道所有保存的音乐的文件名,请放置这些JSON表示的列表并替换当前的播放列表。
我想让每首歌曲资源都由它在当前播放列表中的位置来标识,并且能够单独获取/放入/删除它们。我的问题在于,如果我删除了资源ID 5(播放列表中的第5首歌),那么第6首歌会上移到第5个位置并成为该资源。随着播放列表的移动,显然这些ID将会移动。这听起来不太舒服。我觉得如果你删除了一个资源,它不应该被重新填充,除非你在那里放置了某些东西。这是否是可以原谅的?有没有更好的方式来处理播放列表管理更安宁的方式?
在此先感谢您的帮助!