Wir arbeiten an einem node.js Hapi-Server, der eine Liste von Routen aus einer MongoDB-Datenbank einträgt und diese Routen für den Service einrichtet. Dadurch besteht die Möglichkeit, dass der Server aufgrund doppelter Routeneinträge in der Datenbank ausfällt.Gibt es eine Möglichkeit, alle Routen in einem Hapi-Server anzuzeigen
Ich habe versucht zu suchen, habe aber keine Möglichkeit gefunden, nach doppelten Routen in Hapi zu suchen.
Ist es möglich, eine Liste der Routen zu erhalten, die ein Hapi-Server gerade bedient?
Gibt es eine Fehlerüberprüfung, die ich machen kann, die hübscher ist als ein Standardversuchs-/catchblock, wenn man versucht, die Wege zu bauen, die von der MongoDB kommen?
Der Code, der die Routen einrichtet, ist unten; Bitte beachten Sie meine Kommentare im Code, wo ich mit dem Fehler umgehen muss.
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);
}
});
}
});
Vielleicht [ 'server.table()'] (http://hapijs.com/api#servertablehost) würde Ihnen helfen? Es gibt eine Kopie der Routingtabelle zurück. –
Danke @RodrigoMedeiros, ich werde das heute Abend versuchen und Sie wissen lassen, ob es funktioniert. Wenn dies der Fall ist, sollten Sie es als Antwort posten! – J2N
Das hat den Trick! Ich kann jetzt über server.table() [i] .path usw. darauf zugreifen. @RodrigoMedeiros – J2N