将出站策略应用于 Azure API 管理中的模拟操作

Applying outbound policies to a mocked operation in Azure API Management

我有一个 Azure API 管理 API,我正在为此模拟一个特定的操作。 我已经设置了 mock 来模拟后端服务响应(包括响应中看起来像是从后端服务中出现的 url)。

我发现 none 我的出站策略(包括 redirect-content-urls 策略)正在应用于此模拟响应,因此返回给消费者的 url 不正确。

现在我知道我可以在模拟本身中解决这个问题,但我希望能够将我所有的出站策略应用于模拟响应,以便我可以全面测试我的 API 无需后端。

除了对后端服务进行存根之外,还有其他解决方法吗?

模拟响应策略将从为 api 配置的响应中选取匹配的响应。如果未定义响应,则将为状态代码 return 编辑一个空响应。 至于执行,一旦遇到策略,策略执行就会中断,服务将 return 根据您的模拟策略做出响应。考虑以下放置模拟响应策略的场景及其效果

  1. Inbound:一旦遇到模拟响应策略,就会停止执行并returned 响应。您不能真正在此处应用内容重定向-url 属性。它会在执行策略引擎时抛出异常
  2. 出站:要使模拟响应在本节中起作用,您必须有一个后端服务,您可以在其中发送请求(这是不可能的,因为没有后端!)post将应用出站策略。

因此,当在入站中定义模拟响应时,没有直接的方法来实施出站策略。最好的办法是在模拟响应示例本身中实现屏蔽的重定向内容 url。