我搜索了,但是没有找到答案.我有一个RESTful API,可以管理基本的CRUD.我正在尝试使用PUT创建更新方法,但无法检索参数值.我正在使用Postman发出请求,我的请求看起来像:
网址
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
}
怎么了?任何想法?
解决方法:
我有同样的问题.首先,我使用Postman选项发送PUT数据以将其编码为“表单数据”,这就是Slim没有获得参数值的原因.
如W3中所述,内容类型“ multipart / form-data”应用于提交包含文件,非ASCII数据和二进制数据的表单.
在本例中,我们必须使用Postman选项“ x-www-form-urlencoded”发送PUT数据(请参阅W3中的“ application/x-www-form-urlencoded”说明).