我有3种不同的资源:
/articles
/reviews
/reviewers
作为数据库设计,我们会:
+----------+
| Articles |
+----------+
| id |
| title |
| content |
+----------+
+-------------+
| Reviews |
+-------------+
| id |
| id_article |
| id_reviewer |
| content |
+-------------+
+-----------+
| Reviewers |
+-----------+
| id |
| name |
+-----------+
是否有一种RESTful方式来获取由名称为“Jack”的评论者审阅的所有文章?
答案 0 :(得分:1)
是的,
根据用例建模资源。在这种情况下,您需要一个专门返回Jack所审阅的所有文章的资源,而不是找到其他资源的组合来得到答案。
您的资源应该与您尝试解决的问题紧密匹配,并且数据库架构无关紧要。在这种情况下,我可以想象存在一个资源,它返回所有文章,允许您指定审阅文章的用户的名称,如下所示:
GET /articles?reviewed-by=Jack
如果您的用例需要,响应可能包含文章,也许还有一些关于评论的信息。