我在Apache上使用Tomcat上的后端Spring REST API运行前端Angular。
我想在某些错误情况下抛出500错误,并希望将该响应呈现为Json到UI(Content-Type as application / json)。这在我的本地工作正常,因为Angular能够解释Json响应,但是当涉及到一些常见的QA环境时,它会失败,因为501错误呈现给UI作为Angular无法消化的text / html。
我的本地和QA之间的区别是,Angular在节点上运行而QA使用Apache。使用501 http代码将json响应转换为html类型的apache是什么?
我在浏览器上的回复如下。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Not Implemented</title>
</head><body>
<h1>Internal Server error</h1>
<p>GET to /test/customer/getCustomer not supported.<br />
</p>
</body></html>
答案 0 :(得分:0)
最后,我能够找到导致Apache用自己的错误文档替换所有非2XX响应的原因。您需要做的就是注释或设置ProxyErrorOverride。有了这个Apache将代理传递错误响应,从后端服务器到UI而不丢失内容,例如它发送Json类型的错误响应,因为它没有丢失标题。
希望这有助于某人。