REST通过两个ID获取资源

时间:2015-07-30 09:58:46

标签: rest

我有两个实体:文章和用户。用户可以撰写关于文章的评论,但是指定的用户可能只写一篇关于指定文章的评论。因此,可以通过article_iduser_id确定评论。

评论的经典REST GET请求是:/comment/:id。但在我的情况下,我没有comment_id因为它没用。我想到了/comment/:article_id/:user_id/comment/:article_id!:user_id GET请求。

此类案件的最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

正如你所说,标准表格将是: /comment/{comment_id}

在你的情况下,我可能会去: /user/{userId}/comment/{articleId} 要么 /user/{userId}/article/{articleId}/comment

请注意,这完全基于我所看到的,而不是基于任何正式的建议。

答案 1 :(得分:1)

我不会将缺少的评论称为“无用”,因为这种情况恰好是您需要的时候。如果可能的话,你应该在你的评论表中创建一个代理主键(没有商业意义并由你的数据库自动创建) - 而不是userID + articleID的复合键。

当需求发生变化时,这将允许更大的灵活性。也许用户可以发布更多评论或者需要进行线索评论。

如果数据库不可更改,我同意@Gerino提供的URL