#node.js #express
#node.js #экспресс
Вопрос:
Мне нужно передать несколько значений, то есть коллекцию для определенного ключа запроса в express.
Возможно, моя память обманывает меня, но я склонен полагать, что я видел что-то подобное где-то в Интернете:
http://<somehost>/<somepath>?id[]=10amp;id[]=11amp;id[]=12
Я знаю, что Ruby on Rails возвращает эти querystring
значения в виде массива, но я думал, что у express есть какое-то похожее querystring
поведение, но я не могу найти его в их документации.
Я что-то пропустил?
Ответ №1:
Тем временем я обнаружил, что это действительно работает с express.
Эта строка запроса
http://<somehost>/<somepath>?id[]=10amp;id[]=11amp;id[]=12
выполняется синтаксический анализ в массив с помощью express js. Таким образом
req.query.id => ["10","11","12"]
Это должно быть упомянуто в документации express.
На самом деле express использует пакет с именем ‘qs’, на который стоит взглянуть поближе:
Он даже выполняет глубокую вложенность, например
http://<somehost>/<somepath>?persona[country][birth]=usamp;person[country][resident]=de
который анализируется в
{ person: { country: { birth: 'us', resident: 'de' } } }