我按照有关如何使用Yii2创建RESTful服务的说明*但行为方法导致错误:
Response content must not be an array.
如果我删除行为方法,那么我会收到我期望的JSON响应.我尝试在阅读另一篇文章后删除行为方法**.
但是我对行为有点不熟悉.我们可以不使用带有REST的Yii2行为或者这是一个错误吗?如果有人能对此有所了解,我将非常感激.
*http://www.yiiframework.com/doc-2.0/guide-rest-quick-start.html **http://www.yiiframework.com/forum/index.php/topic/60432-rest-api-失败与-行为/
您的问题是您已完全覆盖了behavior()方法.父类具有附加的行为,用于协商内容标头和响应格式.为了解决这个问题,你的行为需要返回一个与父行为合并的数组.所以你的behavior()方法看起来像这样;
public function behaviors() {
return ArrayHelper::merge(parent::behaviors(), [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
]);
}
Run Code Online (Sandbox Code Playgroud)
您需要记住use yii\helpers\ArrayHelper在控制器类的顶部添加.
| 归档时间: |
|
| 查看次数: |
1784 次 |
| 最近记录: |