我目前正在开发一个 API,它试图通过在 API 响应中包含指向相关资源的链接来做一些 HATEOAS。
在某些地方,我已经(ab?)使用链接来获取文章图片之类的内容。因此,例如,文章资源可能如下所示:
{
"type": "article",
"id": "1",
"links": {
"self": "/api/articles/1",
"image": "/files/b4d7802c-9cbb-4b65-9181-28cb547d2796"
},
"attributes": {
"title": "My first blog entry",
"slug": "first",
"created_at": "2016-08-01T00:00:00Z"
}
}
如您所见,我已将文章图像的链接添加到links
哈希中。当时的想法是:这是一个 URL,所以它可能应该去那里。然而,人们也可以争辩说文章图像是文章的一个属性。
所以,我的问题是: 在 REST 社区中是否有任何商定的准则来处理如何判断 URL 是超媒体链接还是属性?两种方法的优点/缺点是什么?