Как я могу передать список строк в URL в Express.js

Просто потому, что я не вижу здесь примера C ++ 11, я остановлюсь и опубликую этот хороший пример из здесь . После поиска это самый яркий пример, который я смог найти.

Привет, Lambdas, версия 1

template

void Eval( const F& f ) {
        f();
}
void foo() {
        Eval( []{printf("Hello, Lambdas\n");} );
}

Здравствуйте, Lambdas, версия 2:

void bar() {
    auto f = []{printf("Hello, Lambdas\n"); };
    f();
}

1
задан bharadhwaj 19 February 2019 в 00:33
поделиться

2 ответа

По вашему требованию я могу придумать пару альтернатив, которые, на мой взгляд, являются лучшей практикой, чем вы упомянули.

  1. Отправьте его в теле, используя любой из POST или PUT.

    URL: http://localhost:3000/api/prices/shopIds

    Body: { shopIds: [1, 2, 3, 4] }

Вы можете получить идентификаторы, например,

const { shopIds } = req.body // shopIds = [1, 2, 3, 4]

или

const shopIds = req.body.shopIds // shopIds = [1, 2, 3, 4]

  1. Если вы хотите использовать GET, то используйте параметр запроса

    URL: POST http://localhost:3000/api/prices/shopIds?ids=1,2,3,4

Здесь вы можете получить идентификаторы в виде строки, а затем преобразовать их в массив,

const ids = req.query.ids.split(','); // ids = [1 ,2, 3, 4]

Если вы все еще хотите использовать его так, как вы упомянули, он уже получен. Используйте этот метод!

Надеюсь, это поможет!

0
ответ дан bharadhwaj 19 February 2019 в 00:33
поделиться

Ваш лучший способ - передать элементы вашего массива, разделенные символом, которого никогда не будет ни в одном из слов (например, запятая).

Возьмем этот фрагмент, например:

app.get('api/prices/:ids', function(req, res){
    var ids = req.params.ids.split(',');
    console.log(ids); //['shopId1', 'shopdId2']
})

Конечная точка, к которой вы обращаетесь с GET-запросом:

http://localhost:3000/api/prices/shopId1,shopId2

0
ответ дан MadWard 19 February 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: