2015-10-30 09:55:53 8205次浏览 2条回答 1 悬赏 10 金钱

我用 用postman测试putpatch 返回\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('信息不存在');
    }
}
  • 回答于 2016-06-21 16:41 举报

    我也遇到同样问题~~
    我绕过了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
    是可以哒!~~

  • 回答于 2016-06-21 16:43 举报

    规则:'POST /v1/third-party/edit/<id>' => '/v1/third-party/edit',

您需要登录后才可以回答。登录 | 立即注册
awpp
主管

awpp

注册时间:2015-05-26
最后登录:2017-05-09
在线时长:28小时6分
  • 粉丝2
  • 金钱540
  • 威望10
  • 积分920

热门问题