Получить параметры PUT с помощью Slim PHP
Я искал, но я не нашел ответа. У меня есть RESTful API для управления базовым CRUD. Я пытаюсь создать метод обновления с помощью PUT, но я не могу получить значения params. Я использую Postman для выполнения запросов, мой запрос выглядит так:
URL
http://localhost/api/update/987654321
Params
id = 987654321
name = John Smith
age = 35
PHP
$app = new Slim();
$app->put('/update/:id', function( $id ) use( $app ){
var_dump([
'id' => $id,
'name' => $app->request->put('name'),
'age' => $app->request->put('age')
]);
});
Мой var_dump()
результат:
array(3) {
["id"]=>
string(9) "987654321"
["name"]=>
NULL
["age"]=>
NULL
}
Что не так? Любая идея?
Ответы
Ответ 1
У меня была та же проблема. Во-первых, я отправлял данные PUT с опцией Postman, чтобы кодировать его как "данные формы", поэтому Slim не получал значения параметров.
Как объясняется в W3, тип содержимого "multipart/form-data" должен использоваться для отправки форм, содержащих файлы, данные, отличные от ASCII, и двоичные данные.
В нашем случае нам нужно отправить данные PUT с помощью опции Postman "x-www-form-urlencoded" (см. объяснение " application/x- www-form-urlencoded" в W3).
![Screenshot of the right Postman option selected]()
Ответ 2
$app->request->put()
возвращает нулевое значение...
поэтому вы можете использовать try $app->request->params
вместо