gpt4 book ai didi

Azure API 管理策略 - "rewrite-url"策略

转载 作者:行者123 更新时间:2023-12-02 23:54:43 27 4
gpt4 key购买 nike

我正在尝试创建一个策略,该策略将从输入正文中提取保险公司 ID 并将其放入 URL 中,如下图所示。
尝试清理请求正文并重建 URL,以便请求可以成功发布到我们的批准端点

预期结果:
Expected Result

https://apimanagement.test.com/consto-123/api/relationship/approve/{id}

请求正文:

{
"insurer_name": "Tony",
"insurer_id": "12345",
"comments": "This is test"
}

最佳答案

您必须从请求正文中提取 insurer_id 并将其存储为 variable :

<set-variable name="insurerId" value="@{
var body = context.Request.Body.As<JObject>(true);
return body["insurer_id"].Value<string>();
}" />

之后您可以使用rewrite-uri使用此变量并将请求转发给黑化者。

完整的政策:

<policies>
<inbound>
<base />
<set-variable name="insurerId" value="@{
var body = context.Request.Body.As<JObject>(true);
return body["insurer_id"].Value<string>();
}" />
<rewrite-uri template="@("/api/relationship/approve/" + context.Variables.GetValueOrDefault<string>("insurerId"))" copy-unmatched-params="false" />
<set-backend-service base-url="https://rfqapiservicey27itmeb4cf7q.azure-api.net" />
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>

关于Azure API 管理策略 - "rewrite-url"策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73596994/

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