繁体   English   中英

使邮递员查询参数类型为布尔值

[英]Make postman query param type of boolean

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

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

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

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

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

let disabled = ( req.query.disabled !== 'false' )

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

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

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

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

在此处输入图像描述

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM