我已经设置了一个Azure函数代理来调用底层API。这工作正常,但在从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收到的任何错误消息传递回调用客户端?