Express.js - Как я могу вызвать несколько параметров для фильтра поиска? - PullRequest
0 голосов
/ 03 июня 2018

ребята!Я смотрю, как я могу иметь несколько параметров в expressjs для фильтра поиска, например, для:parking

Но иногда я хочу применить только фильтр, например ::

website.com / properties / garden = yes

Должен ли я писать каждый GET для каждого параметрав отдельных строках?

вроде:

app.get('/properties/maxRooms=:max&garden=:garden&parking=:parking', function (req, res) {

})

app.get('/properties/garden=:garden', function (req, res) {

})

1 Ответ

0 голосов
/ 04 июня 2018

взглянуть на body-praser

https://www.npmjs.com/package/body-parser

https://expressjs.com/en/4x/api.html

`Это встроенная функция промежуточного программного обеспечения вЭкспресс.Он анализирует входящие запросы с полезными данными JSON и основан на body-parser.

Возвращает промежуточное программное обеспечение, которое анализирует только JSON и просматривает только те запросы, в которых заголовок Content-Type соответствует параметру type.Этот синтаксический анализатор принимает любую кодировку Unicode тела и поддерживает автоматическое наложение кодировок gzip и deflate.

Новый объект тела, содержащий проанализированные данные, заполняется в объекте запроса после промежуточного программного обеспечения (то есть req.body), илипустой объект ({}), если не было тела для анализа, Content-Type не был найден или произошла ошибка.`

По сути, поставьте" / properties / * "и создайте промежуточное ПО, которое проверяет ваши req.params или req.body.params;

Как в app.get('/prooperties/*', (req, res) => { // params will came as an array of objects if i remember righht, please check body-parser req.body.params });

или в app.get('/properties/maxRooms*'.... req.body.params );

Но если вы используете язык, поддерживаемый JSON, или можете отправить всю форму, избегайте URL-параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...