【发布时间】:2021-11-30 15:30:47
【问题描述】:
找不到这个问题,所以如果它已经被问到,我真的很感激被重定向!
所以我正在使用 PHP 创建一个 RESTful API,但我似乎无法从 API 调用中获取参数。 API 调用是~/database/table?key=value,其中波浪号代表与我的服务器的连接。以下是我的代码:
$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', $_SERVER['PATH_INFO']);
$body = json_decode(file_get_contents('php://input'), true);
这就是我对上述代码的理解。我将方法放入$method,这将是 GET、PUT 等。$request 然后创建一个数组,每个东西都分开,据我了解,它看起来像:
[database, table?key=value] 和 $body 将获取我附加到请求的任何数据,在我的情况下是 JSON。
我遇到的问题是数组的第二个值只得到 table 并且在“?”之后没有得到任何东西在 API 调用中。我错过了什么?我认为explode 仅由我定义的字符“/”分隔。
谢谢!!
【问题讨论】:
-
var_dump($_SERVER[PATH_INFO])给出了什么?PATH_INFO也应该用引号引起来。 -
它返回了
/database/table,很抱歉我错过了,我确实有引号中的PATH_INFO,我会解决这个问题 -
所以
PATH_INFO不包含查询字符串。试试$_SERVER['REQUEST_URI']stackoverflow.com/questions/967649/…
标签: php api-design