我想用流星制作一个简单的API来使用。用MeteorJS制作API
因此,像www.myapp.com/artist/id这样的URL会返回我在服务器上执行的某些工作的JSON响应。
我不确定使用流星(也可能是骨干)做到这一点的最佳方法。
我知道我会使用Meteor.http.get(“url”),但不太清楚我应该如何定义api的路由。
或者最好是在不同的环境下制作api,然后只是打电话给它?
我想用流星制作一个简单的API来使用。用MeteorJS制作API
因此,像www.myapp.com/artist/id这样的URL会返回我在服务器上执行的某些工作的JSON响应。
我不确定使用流星(也可能是骨干)做到这一点的最佳方法。
我知道我会使用Meteor.http.get(“url”),但不太清楚我应该如何定义api的路由。
或者最好是在不同的环境下制作api,然后只是打电话给它?
目前,流星不支持服务器端路由(小/大鸟告诉我它在路线图上)。尽管你可以通过一些黑客工作来达到目的。尽管如果你想保持清晰的代码并远离hacky的东西,那么外部系统可能是更好的选择。但让我们留下流星头脑和'hack'-away。
服务器端的路由可以通过使用此代码来实现:
var connect = __meteor_bootstrap__.require("connect");
__meteor_bootstrap__.app
.use(connect.query())
.use(connect.bodyParser()) //I add this for file-uploading
.use(function (req, res, next) {
Fiber(function() {
if(req.method == "POST"){
if(req.url.indexOf('/upload') !== -1){
res.writeHead(200, {'Content-Type': 'application/json'});
res.write(JSON.stringify({"success" : true}));
res.end();
return;
}
}
next();
}).run();
});
您可以使用page.js来帮助您进行路由。流星& Backbone.js有一些在模型/集合&视图/模板中非常相似的功能。
您可以使用 https://atmosphere.meteor.com/package/collection-api对集合执行CRUD操作了一个RESTful API