我根据 Yii2 为我的应用构建REST APi。 所以,我遇到了处理异常的问题。 例如,当有人使用错误的 HTTP动词时,我需要抛出 405 HTTP 代码,但我想发回这样的内容:
{meta:{error:{code:405,message:"Wrong method"}}}
所以,我需要抓住例外并修改响应对象。但我怎么能这样做? 在Yii中有 onError 和 onException 事件。 Yii2怎么样?
答案 0 :(得分:5)
首先,您需要在配置的组件部分中指定所需的响应格式:
'response' => [
'format' => yii\web\Response::FORMAT_JSON,
'charset' => 'UTF-8'
]
然后就这样做:
throw new \yii\web\HttpException(400, 'Wrong method', 405);