【发布时间】:2015-09-22 19:31:42
【问题描述】:
我正在 Yii 2.0 中使用 CRUD 操作构建 REST-full API,我需要更新操作的帮助。
在我的 Yii 2.0 MVC 控制器中,我创建和更新了如下操作:
public function actionCreate()
{
...
}
对于创建操作,我可以使用以下命令成功调用 CURL:
curl -X POST -d column_one=create_test1 -d column_two=create_test2 http://localhost/MyApp/web/tabletest/create
在此调用之后,我的表中具有上述列值的新行已成功创建。
现在我还需要发出 CURL 调用更新操作:
public function actionUpdate($id)
{
...
}
我已经为这个命令尝试了很多变体(现在我们在函数中有参数,我不知道如何传递它 - 让我们假设 $id=2)。这些只是我尝试过的几个,没有一个有效:
curl -X PUT -d column_two=updated_cmd_2 http://localhost/MyApp/web/tabletest/update/2
curl -X PUT -d "column_two=updated_cmd_2" "http://localhost/MyApp/web/tabletest/update/2"
curl -X PUT -d "id=2&column_two=updated_cmd_2" "http://localhost/MyApp/web/tabletest/update"
但在大多数情况下,我得到了错误:
Bad Request (#400)
*注意:create 方法定义为 POST 方法,update 方法定义为 PUT 方法,所以在这种情况下方法类型不是问题。 我认为更新 CURL 调用的格式不正确。
【问题讨论】:
标签: api rest curl yii2 updatemodel