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 のクエリコンポーネントセクションを確認しましたが、ブールパラメータの表現方法が指定されていません。だから私が知りたいのはそれを行うための一般的な(または合理的な)方法は何ですか?
クエリ文字列の読み方に完全に依存します。あなたが求めるこれらのすべてが有効です。
高速サーバーのあるノードでは、 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 } }
またはこれを行うことができます
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;
}