【发布时间】:2020-08-11 09:05:22
【问题描述】:
我想在 Yii 1 中返回带有 HTTP 错误码的数据,所以我用下面的方式来获取数据。
$code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode();
$this->setOutputError($ex->getMessage());
$this->setOutputCode($code);
当我以这种方式使用它时,API 返回带有 200 错误代码的数据,如下所示
但是我想改变标题状态200,所以我为此抛出了异常,然后输出数据也改变了。我只想更改标题状态。
$code = (0 == $ex->getCode()) ? (isset($ex->statusCode) ? $ex->statusCode : 500) : $ex->getCode();
$this->setOutputError($ex->getMessage());
$this->setOutputCode($code);
throw new CHttpException(400, 'Bad Request');
【问题讨论】:
-
你可以在
return声明\Yii::$app->response->statusCode = XXX之前在你的代码中设置XXX是一个新的状态码。您在代码中输入了CHttpException- 您确定您使用的是 Yii 2 而不是 Yii 1? -
@Bizley 对不起 Yii 1
标签: php api exception yii header