我們正在研究一個node.js Hapi服務器,該服務器從MongoDB數據庫中提取路由列表並設置所需的服務路由。由此,服務器有可能因數據庫中的重複路由條目而失敗。有沒有辦法查看Hapi服務器中的所有路由
我試過看,但沒有找到一種方法來檢查Hapi中的重複路線。
是否有可能獲得Hapi服務器當前正在服務的路由列表?
當嘗試構建來自MongoDB的路由時,是否有錯誤檢查可以比標準try/catch塊更漂亮?
建立路線的代碼如下;請在代碼中查看我的意見,瞭解我需要處理錯誤的位置。
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()'](http://hapijs.com/api#servertablehost)將幫助你?它返回路由表的一個副本。 – 2014-10-07 19:36:50
謝謝@RodrigoMedeiros,今晚我會試試,並告訴你它是否有效。如果是這樣,你應該把它作爲答案! – J2N 2014-10-08 01:58:15
這個伎倆!我現在可以通過server.table()[i] .path等來訪問它。 @RodrigoMedeiros – J2N 2014-10-08 15:09:17