我设置了一个调用底层 API 的 Azure Functions 代理。这工作正常,但在从 API 传递错误时似乎存在一些不一致的行为。
尝试获取不存在的资源时,API 会返回 404 响应和友好的错误消息。这也通过代理传递,因此调用者可以看到该消息。
当发生服务器错误时,API 会返回一个带有友好错误消息的 500 响应,但在这种情况下,该响应不会通过代理传递,而是返回一个通用 XML 错误:
<ApiErrorModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/Microsoft.Azure.WebJobs.Script.WebHost.Models">
<Arguments xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
<ErrorCode>0</ErrorCode>
<ErrorDetails i:nil="true" />
<Id>edf8c2a7-cb2e-45a0-b2c7-f5ef849c9f50</Id>
<Message>An error has occurred. For more information, please check the logs for error ID edf8c2a7-cb2e-45a0-b2c7-f5ef849c9f50</Message>
<RequestId i:nil="true" />
<StatusCode>InternalServerError</StatusCode>
</ApiErrorModel>
有没有办法让代理将它从 API 接收到的任何错误消息传递回调用客户端?