此问题在此处已有答案:
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值?
我看过很多类似的问题,但这并没有解决问题。
- 谢谢-谢谢
1条答案
按热度按时间fwzugrvs1#
您尝试使用
form-data
发送有效负载。表单数据不支持值类型. It is always string(或纯文本,如果更准确的话)。它与查询字符串相同:
https://URL/users?id=56&progress=99
,其中56
和99
始终为字符串。任何试图在幕后透明地转换
str
→int
的web框架。您必须使用
JSON
才能自动获取正确值类型历史上HTTP是一个简单的文本协议,这里没有规范如何分离变量类型(与JSON格式相反),你必须在后端进行。