6

我正在为我的应用程序构建 REST APi,基于Yii2。所以,我在处理异常时遇到了问题。例如,当有人使用错误的HTTP 动词时,我需要抛出405 HTTP代码,但我想发回如下内容:

{meta:{error:{code:405,message:"Wrong method"}}}

所以,我需要捕捉异常并修改响应对象。但是我该怎么做呢?在 Yii 中有onErroronException事件。Yii2呢?

4

1 回答 1

5

首先,您需要在配置的 components 部分指定所需的响应格式:

    'response' => [
        'format' => yii\web\Response::FORMAT_JSON,
        'charset' => 'UTF-8'
    ]

然后做这样的事情:

throw new \yii\web\HttpException(400, 'Wrong method', 405);
于 2014-10-24T12:40:31.237 回答