24

Сценарий: Мы, разработчик, пытаемся заменить веб-службу (написанную на C# .Net) Node.JS Restful API.Как разобрать/прочитать несколько параметров с помощью reify framework для Node.JS

выпуск: Теперь нам нужно обрабатывать входящий запрос как есть (у нас нет контроля над ним). Таким образом, следующий формат входящего URL:

http://www.website.com/Service.aspx?UID=Trans001 & FacebookID = ae67ea324 & GetDetailType = ПОЛНЫЙ

Я в состоянии справиться с URL, как:

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

я могу разобрать/прочитать параметр из приведенного выше URL

Код:

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

Вопрос: Как я могу прочитать несколько параметров из URL, который отформатирован как http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324

ответ

71

Вы просто необходимо загрузить плагин синтаксического анализа запроса;

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

Правда. Это позволит считывать параметры строки запроса через req.query.my_param. –

2

Комментарий Simon's больше недействителен в качестве запроса ResiseParser был перемещен в пакет restify-plugins. Обновленное решение

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

И теперь 'restify-plugins' устарел ... обновленное решение - ' server.use (restify.plugins.queryParser()); ' – nonexplosive

1

Restify 5 (2017) Ответ:

По restify 5 теперь вы можете настроить анализатор запросов, как это: server.use(restify.plugins.queryParser());.

Если вы используете этот плагин, вы можете получить доступ к анализируемым параметрам в req.query.

Для дополнительных опций и информации, посмотрите в restify документации: http://restify.com/docs/plugins-api/#queryparser