我使用iron-router
设置了一个流星应用程序,我希望该应用程序能够收听来自其他服务的webhook(基本上我正在为其他服务构建API)
因此,例如,当外部网站调用myapp.meteor.com/webhook
时,我想捕获该特定链接和参数并对数据进行处理。
更新:感谢您的评论,我发现了这一点:https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#server-routing
Router.route('/webhooks', { where: 'server' })
.post(function () {
console.log(this);
this.response.end('Caught you\n');
//this.response.status(200).json({text:"Todo added"});
});
我在/server
文件夹中添加了上述内容,因为前端服务器无需像评论中提到的那样担心这一点。但是当我使用postman
POST请求加载它时,它只返回not found
的HTML。有任何想法吗?
提前感谢您的帮助。
更新 我尝试了@David所说的,但我仍然在控制台中加载了模板。知道我做错了什么吗?
答案 0 :(得分:1)
只有在没有客户端路由匹配时,您的服务器路由才会运行。我怀疑你有一个在客户端上执行的catch-all路由并阻止服务器路由运行。一种解决方案是在/lib
这样的公共文件夹中定义所有路由,以便您可以正确地对它们进行排序。您的路线文件可能类似于: