Quelle est la meilleure façon de spécifier la valeur booléenne dans la partie requête de l'URI? Une chaîne de requête normale ressemble à
a=foo&b=bar
Disons que j'ai un paramètre "c" avec une valeur booléenne, dois-je indiquer
a=foo&b=bar&c=1
Ou
a=foo&b=bar&c=True
Ou
a=foo&b=bar&c=true
J'ai vérifié la section du composant de requête de RFC 2396 et il ne spécifie pas comment exprimer un paramètre booléen. Donc, ce que je veux savoir, c'est quelle est la façon courante (ou raisonnable) de le faire?
Cela dépend complètement de la façon dont vous lisez la chaîne de requête. Tous ceux que vous demandez sont valables.
Dans le nœud avec un serveur express, vous pouvez ajouter un middleware d'analyseur booléen comme express-query-boolean .
var boolParser = require('express-query-boolean');
// [...]
app.use(bodyParser.json());
app.use(boolParser());
Sans pour autant
// ?a=true&b[c]=false
console.log(req.query);
// => { a: 'true', b: { c: 'false' } }
Avec
// ?a=true&b[c]=false
console.log(req.query);
// => { a: true, b: { c: false } }
Ou vous pouvez le faire
const queryBool = unwrapTextBoolean({{{A_WAY_TO_GET_THAT_TEXT_BOOLEAN}}})
if(queryBool===null) {return;}
if(queryBool){
/*true-based code*/
}else{
/*false-based code*/
}
function unwrapTextBoolean(tB){
if(tB === 'true') return true;
if(tb === 'false') return false;
return null;
}