Получить параметры POST PUT с помощью Slim 3

Я пытаюсь создать полный REST API с Slim 3. С Slim 2 было довольно легко. Но теперь у меня есть некоторые проблемы.

Путь POST и PUT не работает. Я не могу получить параметры. Я нашел $request->getHeaders() в документах, который работает, но вместо того, чтобы получить пример length параметра, я получаю HTTP_LENGHT и каждый параметр имеет этот префикс HTTP_.

Я нашел этот вопрос, но $request->getParsedBody() возвращает пустой массив для меня.

Я тестирую свой API с помощью Advanced REST Client, и это пример того, что я отправляю в качестве запроса 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> 

    ОК. Моя ошибка, я просто ошибся в тестировании. Я писал все свои параметры, поскольку заголовки образуют не форму данных …