我对我的REST API仍有一些问题,但仍处于开发阶段。
我有以下端点:
单个帖子资源如下所示:
{"path": "http://api.myproject.com/posts/1.json", "id": 1, "author": "http://api.myproject.com/users/kristof.json", "image": "/images/posts/cxyUzlPo.jpg", "date": "2014-11-09 15:16", "likes": "http://api.myproject.com/posts/1/likes.json", "comments": "http://api.myproject.com/posts/1/comments.json", "likes_count": 0, "comments_count": 0}
如您所见,帖子包含一个字段" author",它定义了与单个用户资源的超链接关系。
现在出现以下问题:我想构建用户创建的所有帖子的订阅源。这很简单:我只是调用/posts.json端点并且我有我的所有帖子......但是当我想向作者显示每个帖子的信息时,我将不得不进行额外的HTTP REST调用列表中的每个帖子?这对我来说效率似乎非常低效且对表现不利?
当然,您现在也可以将作者资源作为嵌套资源添加到帖子资源列表中,但这仍然被视为" RESTful"?
我忙于构建REST API的时间越长(显然我学习的越多),但我必须在"实用REST"之间做出更多决策。和" REST作为宗教"。 : - )
提前感谢您的帮助!
亲切的问候, ķ。
答案 0 :(得分:0)
您可以在/ posts /的调用中包含每个帖子的作者信息,而且它仍然是RESTful。然后问题就变成了如何包含这些信息。请查看JSON HAL并阅读有关嵌入资源的信息。