【问题标题】:Make postman query param type of boolean使邮递员查询参数类型为布尔值
【发布时间】:2022-02-09 21:05:40
【问题描述】:

我使用邮递员来测试我的 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

如何设置查询参数布尔类型?

【问题讨论】:

标签: javascript postman


【解决方案1】:

无论格式(查询参数、JSON 正文)如何,解析和验证请求都是后端的工作。

所以即使你发送一个像“active=true”这样的参数,它仍然是一个字符串,这就是HTTP协议的工作原理。

更多信息--->https://community.getpostman.com/t/how-to-pass-boolean-values-using-postman/1174

【讨论】:

    【解决方案2】:
    let disabled = ( req.query.disabled !== 'false' )
    

    应该这样做。正如其他答案中所解释的,HTTP 本身不支持任何非字符串或非流类型(整数、布尔值等)。服务器的任务是从原始请求格式中解析含义。

    或者,您还可以执行以下操作以更加熟悉解析基于 JSON 的请求的复杂性。

    let disabled = JSON.parse(req.query.disabled)
    

    【讨论】:

      【解决方案3】:

      这是将布尔值作为查询参数传递的屏幕截图

      出于任何原因,如果参数返回 false,则问题可能是我遇到的,

      1. @RequestParam 中定义的键有错字
      2. @RequestParam 中定义的键有空格
      3. @RequestParam 中定义的键与邮递员查询参数列表中提到的键不匹配

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-12
        • 1970-01-01
        • 2021-09-19
        • 1970-01-01
        • 2019-07-02
        • 2021-03-04
        • 2020-12-24
        • 2013-08-13
        相关资源
        最近更新 更多