使用Slim PHP获取PUT参数

我搜索了,但是没有找到答案.我有一个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”说明).

上一篇:TensorflowTensorflow细节-P158-slim的使用


下一篇:php – 如何在Slim中访问POST请求的JSON请求主体?