我用邮递员测试我的api
http://localhost:3000/api/books?disabled=true
我想设置Disabled = true(或false),我希望这是一个布尔值
但是不知何故
const {disabled} = req.query;
console.log(typeof disabled) //I get disabled type of string
如何设置查询参数布尔类型?
答案 0 :(得分:0)
不管格式(查询参数,JSON主体)如何,解析和验证请求都是后端的工作。
因此,即使您发送的参数如“ active = true”,它仍然是字符串,这就是HTTP协议的工作方式。
有关更多信息---> https://community.getpostman.com/t/how-to-pass-boolean-values-using-postman/1174
答案 1 :(得分:0)
let disabled = ( req.query.disabled !== 'false' )
应该这样做。如其他答案所述,HTTP本身不支持任何非字符串或非流类型(整数,布尔值等)。服务器负责根据原始请求格式解析含义。
或者,您也可以执行以下操作来更加熟悉解析基于JSON的请求的复杂性。
let disabled = JSON.parse(req.query.disabled)
答案 2 :(得分:0)