当API用作模块时,如何设置REST API错误处理程序.我在HTML响应中找到了无效的404发现异常而不是json/xml响应.
这是带有无效入口点的示例api URL
http://localhost.backend.com/api/v1/invalidentrypoint
这里api在一个模块中,v1与api模块嵌套.
反应是
未找到(#404)无法解析请求"api/v1/invalidentrypoint".Web服务器处理您的请求时发生上述错误.如果您认为这是服务器错误,请与我们联系.谢谢.
我期待像这样的回应
**HTTP/1.1 404未找到日期:太阳,2014年3月2日05:31:43 GMT服务器:Apache/2.2.26(Unix)DAV/2 PHP/5.4.20 mod_ssl/2.2.26 OpenSSL/0.9.8y转移-Encoding:chunked
Content-Type:application/json; charset = UTF-8 {"type":"yii\web\NotFoundHttpException","name":"Not Found Exception","message":"找不到请求的资源.","code":0,"status ":404}**
请帮忙.
您是否尝试将响应格式设置为json?
只需添加到配置:
'response' => [
'format' => \yii\web\Response::FORMAT_JSON
]
Run Code Online (Sandbox Code Playgroud)
这里是yii文档中的一些信息:https: //github.com/yiisoft/yii2/blob/master/docs/guide/rest-error-handling.md
编辑:使用来自ethan的注释的yii定义,define是"json"但是使用来自Yii的定义的const是一个很好的实践