24

Scenario: lo sviluppatore sta tentando di sostituire un servizio Web (scritto in C# .Net) con l'API Restful Node.JS.Come analizzare/leggere più parametri con restify framework per Node.JS

Edizione: Ora dobbiamo gestire la richiesta in entrata così com'è (non abbiamo il controllo su di essa). Così il seguente è il formato dell'URL in entrata:

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

Sono in grado di gestire l'URL del tipo:

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

posso analizzare/leggere il parametro dal URL sopra

Codice:

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); 
}); 

Domanda: Come posso leggere i molteplici parametri dalla URL che è formattato come http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324

risposta

71

Basta è necessario caricare il plug-in del parser di query in questo modo;

server.use(restify.queryParser()); 
+9

Vero. Ciò consentirà di leggere i parametri della stringa di query tramite req.query.my_param. –

2

La risposta di Simon non è più valida poiché queryParser di restify è stato spostato nel pacchetto restify-plugins. La soluzione aggiornata è

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

E ora 'restify-plugins' è deprecato ... la soluzione aggiornata è ' server.use (restify.plugins.queryParser()); ' – nonexplosive

1

Restify 5 (2017) risposta:

Dal restify 5 è ora possibile impostare il parser query come questa: server.use(restify.plugins.queryParser());.

Se si utilizza questo plug-in, è possibile accedere ai parametri analizzati in req.query.

Per le opzioni e le informazioni aggiuntive, date un'occhiata alla documentazione di restify: http://restify.com/docs/plugins-api/#queryparser