【发布时间】:2014-06-09 02:47:54
【问题描述】:
与我合作的团队正在为他们的应用程序创建一个 API 接口,以便向需要它的网站公开数据。他们以 JSON 格式发送请求和响应,但目前在以下问题上受到阻碍。
他们编写了 API 来响应缺少所需数据并带有 422 错误代码的请求:
422 无法处理的实体 (WebDAV; RFC 4918) - 请求是 格式良好,但由于语义错误而无法遵循。
请求得到处理并从应用服务器返回一个有效的 JSON 响应对象,但 HTTPD 服务器当前正在拦截响应并将通用 ErrorDocument 放入 422 错误。
想看看有没有办法:
- 禁用 ErrorDocument 拦截,只通过 Apache 服务器透明地从应用服务器返回 JSON 响应
-
使用 ErrorDocument 处理程序,但将响应正文注入到返回的消息中 - 即
错误文档 422 ${RESPONSE_BODY}
欢迎提出任何其他建议。我们的临时解决方案只是返回 200 响应并在响应中定义错误代码,但如果可能,宁愿使用 HTTP 错误代码。
【问题讨论】:
-
现在提供答案,但您能否提供 API 设置的示例路径。您不需要使用真正的域/主机,但结构概述会很好。