所以,我试图展示Restivus API是如何工作的,而Meteor对我的同事们来说很好。 :)
我在http://askar-blog.meteor.com/创建了一个简单的博客应用程序(感谢DiscoverMeteor的书)。 我的回购https://github.com/tenzan/blog
(我正在阅读https://github.com/kahmali/meteor-restivus#restivus)
我有三个系列:
users
posts
comments
因此,post
有很多comments
。通常,我们曾经将comments
作为post
内的嵌套文档,但从Meteor的本质来看,这两个属性被分成不同的集合。
我想实现REST API,以便我可以访问(包括CRUD
操作)posts
和collections
:
http://example.com/api/posts
- 所有posts
http://example.com/api/posts/post_id
- 具体的post
http://example.com/api/posts/post_id/comments
- 属于给定comments
post
http://example.com/api/posts/post_id/comments/comment_id
- 属于给定comment
post
如果您查看我的回购,您会看到posts.js
下有comments.js
和lib/collections
。
据我所知,要启用REST API,我需要posts.js
中的以下代码段:
if (Meteor.isServer) {
// Global API configuration
var Api = new Restivus({
useDefaultAuth: true,
prettyJson: true
});
// Generates: GET, POST on /api/post and GET, PUT, DELETE on
// /api/items/:id for the Posts collection
Api.addCollection(Posts);
// Generates: POST on /api/users and GET, DELETE /api/users/:id for
// Meteor.users collection
Api.addCollection(Meteor.users, {
excludedEndpoints: ['getAll', 'put'],
routeOptions: {
authRequired: true
},
endpoints: {
post: {
authRequired: false
},
delete: {
roleRequired: 'admin'
}
}
});
如您所见,我已添加Api.addCollection(Posts);
,并且我已确认可以访问所有posts
或特定的{。}。
我的问题:
1-如何设置API以访问其父comments
的{{1}}?
2 - 我是否必须使用以下代码才能访问post
?我问,因为我已经能够访问它们,因为我有posts
:
Api.addCollection(Posts);
我道歉,自己弄得很困惑,试图找出制作REST API的正确方法。
请随意添加我在这方面遗漏的重要内容。
答案 0 :(得分:0)