node.js - 有没有办法查看 Hapi 服务器中的所有路由

标签 node.js mongodb hapi.js

我们正在开发一个 node.js Hapi 服务器,该服务器从 MongoDB 数据库中提取路由列表并设置所述路由以进行服务。这样一来,服务器可能会因为数据库中的重复路由条目而失败。

我尝试查看,但未能找到在 Hapi 中检查重复路线的方法。

是否可以获得 Hapi 服务器当前正在服务的路由列表?

在尝试构建来自 MongoDB 的路由时,我可以进行比标准 try/catch block 更漂亮的错误检查吗?

设置路由的代码如下;请查看我在代码中的注释,了解我需要处理错误的地方。

MySchema.find({}, function (err, stubs) {
    if (err) {
        console.log('error while loading');
        return;
    }

    for (var i = 0; i < stubs.length; i++) {
        var bodyMessage = stubs[i].body;

        // This is where we can fail, if only I could make a 
        // check for the route here
        server.route({
            method:  stubs[i].method,
            path: stubs[i].path,

            handler: function (request, reply) {
                reply(bodyMessage);
            }
        });
    }

});

最佳答案

也许 server.table()会帮助你吗?它返回路由表的副本。来自文档页面的示例:

var table = server.table()
console.log(table);

/*  Output:

    [{
      method: 'get',
      path: '/test/{p}/end',
      settings: {
        handler: [Function],
        method: 'get',
        plugins: {},
        app: {},
        validate: {},
        payload: { output: 'stream' },
        auth: undefined,
        cache: [Object] }
    }] */

关于node.js - 有没有办法查看 Hapi 服务器中的所有路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26243489/

相关文章:

node.js 和 geoserver CORS

spring - 带有 Spring MongoTemplates 的 Jackson 自定义反序列化器/序列化器

mongodb - 如何在mongodb中查询对象的键?

javascript - 使用node js替换html文件中的多个字符串

node.js - 从每个用户的 userchat 获取最后一个文档 - mongoose

javascript - 在 Mongoose 的字段中定义一个函数作为默认值

javascript - 运行 @hapi/hapi 给出错误 "#meetings = null SyntaxError: Invalid or unexpected token"

javascript - Hapi.js 实验室测试结果不一致

node.js - 将自定义登录表单添加到 hapi-auth-basic

javascript - 如何将后端(Express JS)提供的静态文件显示到React页面中?