如果我在 server / middleware.json 中注册中间件,则会针对每个请求执行此中间件,无论其类型如何。但是对于授权检查,我需要执行 执行 API路径的调用。我怎样才能做到这一点?
答案 0 :(得分:1)
在server/boot
内创建一个文件,就像我在浏览器中预览电子邮件模板以进行开发一样。您只需像在快递应用程序中一样添加快速路线:
// from the loopback custom express route docs:
//
// module.exports = function(app) {
// var router = app.loopback.Router();
// router.get('/ping', function(req, res) {
// res.send('pong');
// });
// app.use(router);
// }
var fs = require('fs');
var Mustache = require('mustache');
var path = require('path');
module.exports = function(app) {
app.get('/emails/:template', function(req, res) {
var data = {
// data for template render
};
var template = fs.readFileSync(path.resolve(__dirname, '../../client/views/emails/' + req.params.template), 'utf-8');
var html = Mustache.render(template, data);
res.send(html);
});
}
http://localhost:3000/ping
应输出“pong”。
请参阅http://docs.strongloop.com/display/public/LB/Add+a+custom+Express+route
因此,如果您需要触发所有API事件,而不是上面的显式路径,您可以尝试:
app.all('/api/*', requireAuthentication);
匹配/ api前缀以运行该中间件。