从现有资源生成API的APIM不断返回200



我正在尝试让API管理层转发请求,并使用模板向我提供响应-从现有的应用服务创建

我选择了我的应用程序服务,所有的操作都生成了精细的

然而,无论我做什么,每当我调用新的API的任何端点时,我都会得到200的响应,这完全是无用的

请有人帮忙,因为这真的让我很沮丧,现在

<policies>
<inbound>
<base />
<rewrite-uri template="@(context.Request.Url.Path.Replace("/pml","/api"))" />
<set-backend-service id="apim-generated-policy" backend-id="myresource" />
</inbound>
<backend>
<forward-request />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>

Paul

1.如果您正试图正确设置您的APIM转发到您的真实应用程序服务:

在您的APIM策略中设置基本url以指向您的应用程序服务DNS或内部IP(如果可从APIM重新获取(:

<set-backend-service base-url="https://yourserviceIP" />
<set-backend-service base-url="https://myservice.azurewebsites.net" />

JWT示例:

<policies>
<inbound>
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/yourtenant/.well-known/openid-configuration" />
<audiences>
<audience>[AppAudience]</audience>
</audiences>
<issuers>
<issuer>[AppIssuer]</issuer>
</issuers>
</validate-jwt>
<base />
<set-backend-service base-url="https://myservice.azurewebsites.net" />
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>

2.如果您试图模拟响应,请查看本教程,以便了解如何返回除200:之外的其他响应

https://learn.microsoft.com/en-us/azure/api-management/mock-api-responses?tabs=azure-入口

https://learn.microsoft.com/en-us/azure/api-management/mock-api-responses?tabs=azure-门户#启用模拟的响应

最新更新