通过Azure Functions代理传递API错误

时间:2018-09-20 07:05:05

标签: azure azure-functions azure-function-app-proxy

我已经设置了一个调用基础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接收到的任何错误消息传递回调用方客户端?

0 个答案:

没有答案