我在Azure API Management中创建了一个API,我意识到APIM实际上隐藏了我在响应中返回的一些主体。我得到200,但我没有得到404,401,或500。我知道最好是控制返回的内容,而且我们不想给最终用户提供带有500错误正文的HTML。
但是,我在API中使用了404或401,并且在响应正文中返回了一些信息。是否有可能控制某些状态代码返回的内容?
我有一个要求,任何500 (内部服务器错误)被打包成一个带有Http Status = 500的json和带有json字符串"Internal Server Error“的Http正文。为此,我扩展了OncePerRequestFilter并检查Http响应的状态。然后,我使用所需的json响应来构造正文。虽然这可以达到目的,但它是混乱的。
在我的工作场所,我们使用rest status 2.9发送rest请求,即使状态代码为500,402,我也得到了一个包含响应体和状态代码的有效输出。但是唯一不起作用的情况是error 303 --参见其他,我得到了抛出org.apache.http.client.ClientProtocolException异常的方法,我无法这样解析信息,所有其他状态代码都返回状态代码和正