REST API 服务从 azure APIM 调用时返回空响应主体,状态代码为 200

REST API service when called from azure APIM returning empty response body with Status code 200

我已经在 Azure API 管理中添加了我的 REST api 服务。我已按照 link Azure APIM 中给出的所有步骤进行操作。 API 在本地工作正常。当通过已发布的 URL 访问时,它也有效。

我也添加了 OAuth2.0 安全性,它通过得很好。

我的问题是,当我尝试通过 APIM 发布的 URL 访问该操作时,该服务给出了内容为空的响应 200。

有人可以帮忙吗。

当人们无意中删除了顶级策略并删除了适用于所有 api 上所有操作的主要转发请求策略时,就会出现此问题。只需单击“添加策略”按钮即可在顶级范围内重新添加默认策略。

老问题,但我发帖是因为我有一个由不同问题引起的类似问题(空回复):

我得到的响应是空的,因为我在读取响应的策略中有表达式。默认情况下,读取响应会清除它(大概是因为它下面是一个流)。

在这里找到了一些不错的文档:https://docs.microsoft.com/en-us/azure/api-management/api-management-transformation-policies#SetBody

我在阅读回复时通过指定“保留内容”解决了这个问题:

JObject responseJobj = null;
if (context.Response.Body != null) 
{ 
    responseJobj = context.Response.Body.As<JObject>(preserveContent: true); 
}