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

时间:2016-11-04 17:12:04

标签: azure-active-directory azure-api-management

我在Azure API Management中添加了我的REST api服务。我已按照此链接Azure APIM中给出的所有步骤进行操作。 API在本地工作正常。通过发布的URL访问它也有效。

我已经添加了OAuth2.0安全性,并且正在通过罚款。

我的问题是当我尝试通过APIM发布的URL访问该操作时,该服务正在给出带有空内容的响应200.

有人可以帮忙吗。

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:0)

旧问题,但我发布是因为我有一个由其他问题引起的类似问题(空响应):

由于在读取响应的策略中有表达式,所以我得到的响应是空的。默认情况下,读取响应将其清除(可能是因为其下方有一个流)。

在这里找到了一些不错的文档: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); 
}