24

Szenario: Wir Entwickler versuchen, einen Webdienst (in C# .Net geschrieben) durch Node.JS Restful API zu ersetzen.So analysieren/lesen Sie mehrere Parameter mit Restify-Framework für Node.JS

Problem: Jetzt müssen wir die eingehende Anfrage behandeln, wie es ist (wir haben keine Kontrolle darüber). So ist die folgende ist das Format der eingehenden URL:

http://www.website.com/Service.aspx?UID=Trans001 & FacebookID = ae67ea324 & GetDetailType = FULL

Ich bin können die URL wie zu handhaben:

http://www.website.com/service/Trans001/ae67ea324/FULL

Ich kann den Parameter aus der obigen URL parsen/lesen

Code:

var server = require('restify').createServer(); 
function respond(req, res, next) { 
    console.log("req.params.UID:" + req.params.UID); 
    console.log("req.params.FacebookID:" + req.params.FacebookID); 
    console.log("req.params.GetDetailType" + req.params.GetDetailType); 
} 
server.get('/service/:UID/:FacebookID/:GetDetailType', respond); 
server.listen(8080, function() { 
    console.log('%s listening at %s', server.name, server.url); 
}); 

Frage: Wie kann ich lese die mehrere Parameter aus der URL, die wie http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324

Antwort

71

Sie formatiert ist muss das Abfrageparser-Plugin wie folgt laden;

+9

Wahr. Dies ermöglicht das Lesen von Abfragezeichenfolgenparameter über req.query.my_param. –

2

Die Antwort von Simon ist nicht mehr gültig, da restifys queryParser in das restify-plugins-Paket verschoben wurde. Die aktualisierte Lösung ist

server.use(require('restify-plugins').queryParser()); 
+5

Und jetzt 'restify-plugins' ist veraltet ... die aktualisierte Lösung ist ' server.use (restify.plugins.queryParser()); ' – nonexplosive

1

Restify 5 (2017) Antwort:

Ab restify 5 können Sie jetzt Setup die Abfrage-Parser wie folgt aus: server.use(restify.plugins.queryParser());.

Wenn Sie dieses Plugin verwenden, können Sie auf die analysierten Parameter in req.query zugreifen.

Weitere Optionen und Informationen, einen Blick in die Dokumentation restify nehmen: http://restify.com/docs/plugins-api/#queryparser