PHP前端开发

接口测试通过却返回空值:GET请求参数传递问题如何解决?

百变鹏仔 3天前 #PHP
文章标签 如何解决

接口测试成功,但实际使用返回为空值的困惑

进行php文档接口测试时,出现测试成功但实际使用返回为空值的问题。接口使用get方法接收数据,将之转换为数组后返回前端。

受影响的代码片段:

$sss = $_GET['sss'];$kkk = $_GET['kkk'];$arr = [    'sss' => $sss,    'kkk' => $kkk,];echo json_encode($arr);

经过各种测试后发现:

  1. apifox测试成功,返回:{"sss": "xxxx","kkk": "ppp"}
  2. 在线接口测试失败,返回:{"sss": "","kkk": null}
  3. 使用post方法接收,返回为空
  4. 直接在网页上使用,返回为空

原因分析:

通过仔细检查代码,可以发现接收数据的方法没有问题。问题可能出在传参上。

在问题中提到的在线接口测试中,出现了kkk为null的情况。这表明请求中并没有传递kkk参数。而sss虽然返回了空字符,但应该是因为请求中传递了sss但未提供值。

解决方案:

确保在请求接口时正确传递所需参数。使用适当的工具(例如postman)检查请求是否包含所有必需的参数和值。