Подтвердить что ты не робот

Boolean в запросе URI?

Каков предпочтительный способ указать логическое значение в части запроса URI? Обычная строка запроса выглядит как

a=foo&b=bar

Скажем, у меня есть параметр "c" с логическим значением, если я укажу

a=foo&b=bar&c=1

Или

a=foo&b=bar&c=True

Или

a=foo&b=bar&c=True

Я проверил раздел компонента запроса RFC 2396 и в нем не указано, как выразить логический параметр. Так что я хочу знать, каков общий (или разумный) способ сделать это?

4b9b3361

Ответ 1

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

Ответ 2

В node с помощью экспресс-сервера вы можете добавить промежуточное ПО булевого анализатора, например express-query-boolean.

var boolParser = require('express-query-boolean');

// [...] 

app.use(bodyParser.json());
app.use(boolParser());

Без

// ?a=true&b[c]=false 
console.log(req.query);
// => { a: 'true', b: { c: 'false' } } 

С

// ?a=true&b[c]=false 
console.log(req.query);
// => { a: true, b: { c: false } }