为什么 Postman 不能发送整数值?[duplicate]

yzxexxkh  于 2022-11-23  发布在  Postman
关注(0)|答案(1)|浏览(380)

此问题在此处已有答案

send integers in FormData(3个答案)
14天前关闭。
我有一个API和一个文件,将做一个特定的工作。
此文件将检查从客户端发送的值类型,如果值类型是Integer以外的任何类型,则将向用户抛出错误。

以下是一个示例:

<?php
$userId = $_POST["userId"];

if (!is_int($userId) || $userId <= 0)
    exit(json_encode(array("REQUEST_STATUS" => 800))); //The number 800 will be translated in the client side to an unexpected error.

...
...
...

以下是我使用Postman发送的值:

PHP文件总是打印意外错误,因为 Postman 将值作为String发送。
我不得不使用Postman来测试API,因为客户端还没有准备好测试API。
另外,我可以通过在PHP中临时将字符串转换为整数来解决这个问题,但我认为如果你有很多文件要检查,这并不容易。
有没有什么方法可以让我用Postman或其他方法发送Integer值?
我看过很多类似的问题,但这并没有解决问题。

  • 谢谢-谢谢
fwzugrvs

fwzugrvs1#

您尝试使用form-data发送有效负载。
表单数据不支持值类型. It is always string(或纯文本,如果更准确的话)。它与查询字符串相同:https://URL/users?id=56&progress=99,其中5699始终为字符串。
任何试图在幕后透明地转换strint的web框架。
您必须使用JSON才能自动获取正确值类型
历史上HTTP是一个简单的文本协议,这里没有规范如何分离变量类型(与JSON格式相反),你必须在后端进行。

相关问题