gpt4 book ai didi

Azure API 管理/门户 : activate Mocking for "Try Out" in API Portal

转载 作者:行者123 更新时间:2023-12-04 09:08:50 24 4
gpt4 key购买 nike

我想知道是否可以激活模拟以从 API 门户调用基于 Azure API 管理的 API。

我不希望开发人员浏览界面目录并使用“尝试”功能来实际从后端/在后端中进行 CRUD 记录。他们应该只接收一组预定义的数据,以便他们可以根据它进行开发,而不会弄乱后端的数据。

示例

API 是在 Azure API 管理上创建的并且富有成效。此 API 列在相应的 Azure API 门户中 -开发人员现在找到了该 API 并想要尝试一下: enter image description here

POST/SalesQuote 将在 SAP 中创建销售报价单。开发人员使用开发人员门户中的“尝试”按钮来查看行为。 “发送”按钮现在实际上在后端创建一条记录。

这可以预防吗?如果是这样 - 怎么办?这是否可以在 API 策略中实现(即 origin = api 门户 url 的模拟数据)?

我能想到的唯一其他选择是禁用“尝试”功能 - 这是一个糟糕的解决方案。

编辑:一般的“启用模拟”当然对于高效的 API 来说是没有选项的。

感谢您的帮助!

最佳答案

感谢 Nacho,我更深入地研究了政策特征并进行了一些尝试。我想出了以下内容:

<inbound>
<base />
<choose>
<when condition="@(context.User.Groups.Any(Group => Group.Name == "developer-internal"))">
<mock-response status-code="201" content-type="application/json" />
</when>
</choose>
</inbound>

仅当调用用户是“开发人员内部”组的成员(都是通过 AAD 映射的开发人员门户用户)时,这才应启用模拟。

作为替代方案,我验证测试后端的重新路由选项,而不是模拟如下所示的响应:

<inbound>
<base />
<choose>
<when condition="@(context.User.Groups.Any(Group => Group.Name == "developer-internal"))">
<!--mock-response status-code="201" content-type="application/json" /-->
<set-backend-service base-url="https://esb-test.example.com/restv2/CostObject" />
</when>
</choose>
</inbound>

关于Azure API 管理/门户 : activate Mocking for "Try Out" in API Portal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63397159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com