Chr*_*ond 3 azure-api-management
我正在设置一套企业 API,但我希望能够为消费者提供一些“存根”端点,以允许他们在不需要我的情况下继续其开发过程。
因此,当我们使用 Azure API Manager 时,我将使用 MOCK 响应请求。
现在,我知道任何响应都将是严格定义的数据契约/模式,但我想要做的是根据入站请求提供不同的响应有效负载内容。
设置模拟响应时,这是根据 HTTP 状态代码完成的,并且似乎您只能为每种状态设置一个模拟响应,因此您有一个用于 200 OK、202 Accepted 和另一个用于 500 Server Failure 和很快。
有没有办法说,例如 200 响应,可以选择根据请求回复不同的内容?
例如
正如所说,“一些选项的有效负载?” 将符合商定的 API 合同,但选项 A 的数组中可能只有 1 个元素,但选项 B 可能有 5 个元素。
/api/request?option=A => 200 OK {选项 A 的一些有效负载}
/api/request?option=B => 200 OK {选项 B 的一些负载}
您可以在出站策略中使用 APIM 的转换策略,根据您的 URL 参数设置自定义正文。
<when condition="@(context.Request.MatchedParameters["option"] =='A')">
<set-body>Some body for A</set-body>
</when>
<when condition="@(context.Request.MatchedParameters["option"] =='B')">
<set-body>Some body for B</set-body>
</when>
Run Code Online (Sandbox Code Playgroud)
PS:未测试
| 归档时间: |
|
| 查看次数: |
3202 次 |
| 最近记录: |