如何设计一个REST接口,允许更新相关项列表的排序顺序?
假设我想开发一个客户端应用程序,管理歌曲播放列表,并在服务器上存储以下对象:如何设计一个REST接口,允许更新相关项列表的排序顺序?,rest,sorting,post,many-to-many,Rest,Sorting,Post,Many To Many,假设我想开发一个客户端应用程序,管理歌曲播放列表,并在服务器上存储以下对象: 播放列表{title:unique} playlistong{PlaylistId,SongId,sortOrder} 歌曲{标题:独特} 我如何设计一个REST界面,以便可以从客户端更改播放列表的顺序,并且可以在特定位置将新歌输入到现有播放列表中。 换句话说,为了实现以下两个操作,我不知道REST接口是什么样子: 将歌曲添加到特定位置的播放列表中 更新播放列表的顺序 据我所知,我想实施的基本行动应该如下所示:
- 播放列表{title:unique}
- playlistong{PlaylistId,SongId,sortOrder}
- 歌曲{标题:独特}
换句话说,为了实现以下两个操作,我不知道REST接口是什么样子:
- 将歌曲添加到特定位置的播放列表中
- 更新播放列表的顺序
User action: Rest Resource
Create playlist: POST /playlist
Get Playlist: GET /playlist/{id}
Get Playlist Songs: GET /playlist/{id}/songs
Create song: POST /song
Update song: PUT /song
Get song: GET /song/{id}
我会使用PUT更改播放列表中歌曲的顺序:
GET /playlist/{id}/songs
{
{
"id" : "1",
"self" : "http://my.server/song/1",
"name" : "The Little Old Lady From Pasadena"
},
{
"id" : "2",
"self" : "http://my.server/song/2",
"name" : "Love Potion #9"
}
}
PUT /playlist/{id}/songs
{
{
"id" : "2",
"self" : "http://my.server/song/2",
"name" : "Love Potion #9"
},
{
"id" : "1",
"self" : "http://my.server/song/1",
"name" : "The Little Old Lady From Pasadena"
}
}
谢谢你的好例子。我会尝试这样的方法,让你知道它是如何运作的。