gpt4 book ai didi

rest - 以 RESTful 方式运行时如何使用行为?

转载 作者:行者123 更新时间:2023-12-02 04:11:06 25 4
gpt4 key购买 nike

我正在按照有关如何使用 Yii2 创建 RESTful 服务的说明*进行操作,但行为方法会导致错误:

响应内容不能是数组。

如果我删除行为方法,那么我会收到我期望的 JSON 响应。我在阅读另一篇文章后尝试删除行为方法**。

但是我对行为有点不熟悉。我们是否可以不将 Yii2 的行为与 REST 一起使用,或者这是一个错误?如果有人能阐明这一点,我将不胜感激。

* http://www.yiiframework.com/doc-2.0/guide-rest-quick-start.html** http://www.yiiframework.com/forum/index.php/topic/60432-rest-api-failing-with-behaviours/

最佳答案

你的问题是你已经完全重写了behaviors()方法。父类具有附加的行为,用于协商内容 header 和响应格式。为了解决这个问题,您的行为需要返回一个与父行为合并的数组。所以你的behaviors()方法将如下所示;

public function behaviors() {
return ArrayHelper::merge(parent::behaviors(), [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
]);
}

您需要记住在 Controller 类的顶部添加use yii\helpers\ArrayHelper

关于rest - 以 RESTful 方式运行时如何使用行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28719072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com