【发布时间】:2014-08-28 17:57:34
【问题描述】:
当 API 用作模块时,如何设置 REST API 错误处理程序。 我在 HTML 响应而不是 json/xml 响应中发现了一个无效的 404 异常。
这是带有无效入口点的示例 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 传输编码:分块
内容类型:应用程序/json;字符集=UTF-8 { "type": "yii\web\NotFoundHttpException", "name": "未发现异常", "message": "未找到请求的资源。", “代码”:0, “状态”:404 }**
请帮忙。
【问题讨论】:
-
我不知道怎么做,但是如果您从休息客户端而不是浏览器发出请求,它会以 json 格式为您提供
-
不,我已经试过了。可能是与我配置的模块有关的问题。我收到了完整的 HTML 作为响应!
-
你使用自定义的errorHandler吗?我在模块中注册处理程序时遇到了类似的问题。但是在将其移入 config->components 后,它的工作方式与预期一样。
-
我们有同样的问题。