假设 Feathers 应用程序具有以下目录结构:
- src
-- hooks
-- middleware
-- services
放置 webhook 路由处理程序的合适位置在哪里?这应该使用中间件来完成,还是使用标准 Express 路由并将它们放在路由目录中会更惯用?
对于上下文,我想收听来自 Instagram 的事件,它们不一定与我正在使用的 RESTful 服务相匹配。
假设 Feathers 应用程序具有以下目录结构:
- src
-- hooks
-- middleware
-- services
放置 webhook 路由处理程序的合适位置在哪里?这应该使用中间件来完成,还是使用标准 Express 路由并将它们放在路由目录中会更惯用?
对于上下文,我想收听来自 Instagram 的事件,它们不一定与我正在使用的 RESTful 服务相匹配。
中间件只是标准快速路由的处理程序。我将 webhook 视为与任何其他非服务端点一样的中间件。
在该中间件中,您可以通过req.app.service
. 例如,一个 Instagram webhook 会在images
服务中为 webhook 检索到的数据创建条目,然后将状态(或错误返回)发送回,如下所示:
app.use('/instagram', function(req, res) {
const imageService = req.app.service('images');
const images = req.body.data;
imageService.create(currentData).then(() => {
res.status(200);
res.end('ok');
}).catch(error => {
res.status(500);
res.end(error.message);
});
});
发送到 webhook 的数据也应该在将它们添加到数据库之前使用 Instagram 进行验证。