在这种情况下构造RESTAPI的正确方法

在这种情况下构造RESTAPI的正确方法,rest,mean-stack,Rest,Mean Stack,我正在尝试用MEAN堆栈(MongoDB、ExpressJS、AngularJS和NodeJS)构建一个小型web应用程序 我的问题很简单。如果以博客为例,它将包含博客文章,您可以在以下url列出: 获取/api/posts 您还可以获得该帖子的评论: GET/api/posts/:posted/comments 并获得一条评论: GET/api/posts/:postId/comments/:commentId 帖子和评论之间的关系在这里非常明显,但它是否仍然强制要求这样做?或者我可以通过/a

我正在尝试用MEAN堆栈(MongoDB、ExpressJS、AngularJS和NodeJS)构建一个小型web应用程序

我的问题很简单。如果以博客为例,它将包含博客文章,您可以在以下url列出:

获取/api/posts

您还可以获得该帖子的评论:

GET/api/posts/:posted/comments

并获得一条评论:

GET/api/posts/:postId/comments/:commentId

帖子和评论之间的关系在这里非常明显,但它是否仍然强制要求这样做?或者我可以通过/api/comments执行CRUD操作吗?最后,mongodb中的comment对象将始终具有postId属性,该属性将引用与其相关的帖子。。。此外,API不会公开,并且严格意义上是由应用程序使用的

这样做是否仍然是强制性的

不,这根本不是强制性的

或者我可以通过/api/comments执行CRUD操作吗

对。这将导致更干净的资源URI(端点)

您还可以通过以下方式获得特定于帖子的评论:
此外,如果您只在给定主机上提供api,也可以删除
/api
前缀。

谢谢您的回答!但是我该如何在特定的博客帖子上列出评论呢/api/评论/:发布?这有意义吗?
GET /api/comments?postId={postId}