這個標題有很多問題,但讀過它們後,我不認爲它們中的任何一個回答了我的特定問題。RESTful API中的動態資源
我在設計我喜歡稱之爲「REST風格的互聯網點唱機」。基本上,這是一個REST風格的api,可以通過搜索查詢訪問各種互聯網音樂服務(如youtube),下載音樂並將其添加到MPD播放列表中。我已經實現了一個原型,它的工作很好,但我不喜歡我的API的設計,特別是關於播放列表管理。
現在,我有一個播放列表端點,啓用了「GET」和「PUT」。現在,get返回每首歌曲的JSON表示列表(保存的歌曲的文件名及其長度)。 Put允許您,如果您知道所有保存的音樂的文件名,請放置這些JSON表示的列表並替換當前的播放列表。
我想讓每首歌曲資源都由它在當前播放列表中的位置來標識,並且能夠單獨獲取/放入/刪除它們。我的問題在於,如果我刪除了資源ID 5(播放列表中的第5首歌),那麼第6首歌會上移到第5個位置併成爲該資源。隨着播放列表的移動,顯然這些ID將會移動。這聽起來不太舒服。我覺得如果你刪除了一個資源,它不應該被重新填充,除非你在那裏放置了某些東西。這是否是可以原諒的?有沒有更好的方式來處理播放列表管理更安寧的方式?
在此先感謝您的幫助!