我正在整理基于REST的API,但我不确定如何为集合和单个资源提供响应。
在REST世界的单个项目上为集合设置精简的表示是否有意义?
说我有一些关于专辑收藏的内容:
{
items: [
{
"id": 1,
"title": "Thriller"
},
...
]
}
但是对于我有的实际个别项目
{
"id": 1,
"title": "Thriller",
"artist": "Michael Jackson",
"released": "1982",
"imageLinks": {
"smallThumbnail": "...",
"largeThumbnail": "..."
}
...
}
答案 0 :(得分:0)
资源表示应该是唯一的,无论它是作为集合还是作为单个项目给出。但是,您可以引入一个新参数,例如 fields ,客户可以使用这些参数来获取所需的字段,从而优化带宽。
/albums
- 这应该给出对象列表,每个对象都具有你在单个项目中给出的结构api
/albums?fields=id,title
- 这可以给出只有id&的对象列表。标题。