2011-06-23 102 views
13

在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 

我檢查了查詢組件sectio n的RFC 2396,它沒有指定如何表達布爾參數。所以我想知道的是通用(或合理)的方法是什麼?

+2

的URI規範(RFC時下3986)根本不關心。 –

+1

我會說什麼是最簡單的 - 即如果你在java中,Boolean.parseBoolean(「true」)... – Blaskovicz

回答

10

它完全取決於您閱讀查詢字符串的方式。所有這些你要求的都是有效的。

2

在具有快速服務器的節點中,可以添加一個布爾分析器中間件,如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 } }