代码之家  ›  专栏  ›  技术社区  ›  coinhndp

使postman查询参数类型为boolean

  •  1
  • coinhndp  · 技术社区  · 6 年前

    我用postman来测试我的api

    http://localhost:3000/api/books?disabled=true
    

    我想设置disabled=true(或false),我希望它是一个bool

    但不知怎么的

    const {disabled} = req.query;
    console.log(typeof disabled) //I get disabled type of string
    

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

    2 回复  |  直到 6 年前
        1
  •  0
  •   Sandunka Mihiran    6 年前

    不管是什么格式(查询参数、JSON主体),后端的工作就是解析和验证请求。

    因此,即使您发送一个参数,如–ofœactive=true–of,它仍然是一个字符串,这就是HTTP协议的工作方式。

    有关详细信息---> https://community.getpostman.com/t/how-to-pass-boolean-values-using-postman/1174

        2
  •  0
  •   XaxD    6 年前
    let disabled = ( req.query.disabled !== 'false' )
    

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

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

    let disabled = JSON.parse(req.query.disabled)
    
        3
  •  0
  •   TechPassionate    4 年前

    下面是传递boolean作为查询参数的屏幕打印

    enter image description here

    不管出于什么原因,如果param返回false,问题可能是我遇到的,

    1. @RequestParam中定义的键有错别字
    2. @RequestParam中定义的键有空格
    3. @RequestParam中定义的键与postman query param list中提到的键不匹配