Yii2和处理异常

时间:2014-05-11 04:34:39

标签: php http rest yii2

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

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

所以,我需要抓住例外并修改响应对象。但我怎么能这样做? 在Yii中有 onError onException 事件。 Yii2怎么样?

1 个答案:

答案 0 :(得分:5)

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

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

然后就这样做:

throw new \yii\web\HttpException(400, 'Wrong method', 405);