restful 用postman测试put和patch接收到的数据格式有问题 [ 2.0 版本 ]
我用 用postman测试put
和patch
返回\Yii::$app->request->post()
的数据是
{
"status": 1,
"message": "success",
"data": {
"------WebKitFormBoundaryQAdeVNHjsT4k9EZD\r\nContent-Disposition:_form-data;_name": "\"name\"\r\n\r\nrestrrrrrrrtttttt\r\n------WebKitFormBoundaryQAdeVNHjsT4k9EZD--\r\n"
}
}
我的服务端代码是这样的
public function actionUpdate($id)
{
$model = $this->findModel($id);
$model->attributes = \Yii::$app->request->post();
$model->save(false);
return \Yii::$app->request->post();
//return $model;
}
protected function findModel($id)
{
$modelClass = $this->modelClass;
$model = $modelClass::findOne($id);
if ($model !== null) {
return $model;
} else {
throw new NotFoundHttpException('信息不存在');
}
}
共 2 个回答
-
我也遇到同样问题~~
我绕过了PUT、PATCH处理数据,仍然用POST做更新和删除。
规则:'POST /v1/third-party/edit/' => '/v1/third-party/edit',
控制器里注销掉系统自带的实现方法:unset($actions['update'], $actions['delete']);
自己写actionEdit()方法。
访问示例:http://api.163.com/v1/third-party/edit/1167?access-token=ttt
postMan填其他表单数据,调用方式选post
是可以哒!~~
awpp
注册时间:2015-05-26
最后登录:2017-05-09
在线时长:28小时6分
最后登录:2017-05-09
在线时长:28小时6分
- 粉丝2
- 金钱540
- 威望10
- 积分920