我正在尝试使用 Slim 3 构建完整的 REST API。使用 Slim 2 非常简单。但现在我遇到了一些问题。
POST 和 PUT 路由无法正常工作。我无法获取参数。我$request->getHeaders()
在文档上找到了,它可以工作,但不是获取例如参数length
,而是我得到HTTP_LENGHT
并且每个参数都有这个HTTP_前缀。
我找到了这个问题,但$request->getParsedBody()
为我返回了一个空数组。
我正在使用Advanced REST Client测试我的 API,这是我作为 POST 请求发送的示例:
POST /test/barrier HTTP/1.1
HOST: mydomain.com
start_lng: 2.6423183977058
start_lat: 56.865296679535
type: Something
comment: testcomment
due_date: null
content-type: application/x-www-form-urlencoded
我正在使用 Slim 3.3.0。
这是我得到的一个例子$request->getHeaders()
:
["HTTP_START_LAT"]=>
array(1) {
[0]=>
string(15) "56.865296679535"
}
["HTTP_START_LNG"]=>
array(1) {
[0]=>
string(15) "2.6423183977058"
}
一件奇怪的事情是,如果我尝试$request->hasHeader('length');
获取参数的值,这意味着名称是正确的。我真的不明白。
我只想获取$app->request->post()
在 Slim 2.* 中使用的参数数组。谢谢。
我.htaccess
的是这样的:
RewriteEngine On
RewriteBase /test
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
<files db.config.ini>
deny from all
</files>