- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
注意:我使用的是 azure apim
我有两个 api 返回 xml 响应如下所示:回应1:
<A>
<B>10</B>
</A>
响应2:
<C>
<D>10</D>
</C>
我想转换 XML 响应以获得以下输出,其中 Response 2 放在 Response 1 中输出:
<A>
<B>10</B>
<C>
<D>10</D>
</C>
</A>
最佳答案
设置入站策略来实现它。
我的想法是结合使用send-request
,set-variable
和return-response
,也就是先调用2个API,保存具体的请求的值并将它们合并到一个新的 Xml 文档中。这是我的政策,我使用了 2 个 azure 函数来扮演 API 的角色:
<inbound>
<base />
<send-request mode="new" response-variable-name="reqone" timeout="20" ignore-error="true">
<set-url>https://xxx.azurewebsites.net/api/HttpTrigger1</set-url>
<set-method>GET</set-method>
</send-request>
<send-request mode="new" response-variable-name="reqtwo" timeout="20" ignore-error="true">
<set-url>https://xxxx.azurewebsites.net/api/HttpTrigger2</set-url>
<set-method>GET</set-method>
</send-request>
<set-variable name="valOne" value="@{
string text = ((IResponse)context.Variables["reqone"]).Body.As<XDocument>().Root.Value;
return text;
}" />
<set-variable name="valTwo" value="@{
string text = ((IResponse)context.Variables["reqtwo"]).Body.As<XDocument>().Root.Value;
return text;
}" />
<return-response>
<set-status code="200" />
<set-header name="Content-Type" exists-action="override">
<value>text/xml</value>
</set-header>
<set-body>@{
XDocument srcTree = new XDocument(
new XElement("A",
new XElement("B", context.Variables.GetValueOrDefault("valOne","")),
new XElement("C", new XElement("D", context.Variables.GetValueOrDefault("valTwo","")))
)
);
return srcTree.ToString();
}</set-body>
</return-response>
</inbound>
这是我的 api 响应:
这是我的测试结果:
关于xml - 天蓝色 APIM : XML Transformation Using Multiple XML Responses to Single XML Response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68095662/
在我的 azure devops 管道中,我有一个任务 AzureCLI@2,它将 api 部署到 apim。我如何使用 az apim api 来执行相同的任务更新api?我知道有一个操作可以做到这
我理解当请求包含 Ocp-Apim-Trace: true 时,如下所示: GET /api/v1/BotConfig HTTP/1.1 Host: xyz.azure-api.net Cache-C
我理解当请求包含 Ocp-Apim-Trace: true 时,如下所示: GET /api/v1/BotConfig HTTP/1.1 Host: xyz.azure-api.net Cache-C
我已经创建了 web api 并尝试使用 c# 发出 GET 请求,如下所示 namespace APIMCheck { class Program { static void Main(
我想在 Azure API 管理策略中实现客户端证书验证,以检查客户端是否具有有效证书(按照以下文档)。 https://learn.microsoft.com/en-us/azure/api-man
我有一个带有自定义域和多个 API 的 azure APIM,如下面的屏幕截图所示:- 每个 API 下都有多个端点,并且所有端点都具有相同的主机名。自定义域级别有一个协商客户端证书 设置,我只想为其
我最近将 APIM 实例从开发人员层更改为消费层,并且在验证内容策略中看到了一些奇怪的行为。在开发人员层,此策略将按预期工作并返回 400 错误以及相应的错误消息。 以下是政策: 下面是来
我目前仍在 APIM 中探索。我在有效负载 #1 中有一个有效负载,我想将其转换为另一个有效负载 #2(预期)。 我将如何编辑我的策略来构建此有效负载? 有效负载1 { "dependtee_
我正在尝试通过 APIM 将文件批量上传到 Azure 存储帐户。在本地,我可以使用 REST API 将文件上传到 azure 存储帐户。但是,通过 APIM 我无法上传文件。我收到 401 错误。
在我的口腔中,我有查询参数调用“PageSize”,我需要检查用户输入情况比较严重,需要向用户显示消息 比我在出站部分中放置的 = 20">
来自Azure API management pricing page我发现除了开发人员层和高级层之外,不支持虚拟网络。 目前,在配置 APIM 的 VN 时,我的开发人员级别订阅可以在“关闭”、“外
我在 Azure API 管理中有以下策略。这样就可以正常工作了: @{ try { // ... doing something
我正在尝试通过 Azure APIM 访问本地 API。如果我使用 VNET 和 VPN 隧道,我可以访问 On-Prem API,但是,这不是一个理想的解决方案。我正在尝试让混合连接(端口桥)以相同
有没有办法将通过 APIM 请求传入的查询参数作为路径参数传递给后端服务调用?例如: 对于以下 API 调用 base_url/a/{pathParam1}?query=Qvalue 我想将 URL
目前我已经创建了一个 Azure APIM 实例,URL 如下所示。 https://abc-test.azure-api.net 我想使用此 APIM 实例来支持开发和 QA 环境。所以我想设置如下
我正在尝试处理后端 API(REST),没有可通过 Azure APIM 访问的 swagger 文档。我希望所有调用都定向到后端 API,而不是为所有资源手动创建 GET/PUT/POST。我的所有
来自Azure API management pricing page我发现除了开发人员层和高级层之外,不支持虚拟网络。 目前,在配置 APIM 的 VN 时,我的开发人员级别订阅可以在“关闭”、“外
我在 Azure API 管理中有以下策略。这样就可以正常工作了: @{ try { // ... doing something
我正在尝试通过 Azure APIM 访问本地 API。如果我使用 VNET 和 VPN 隧道,我可以访问 On-Prem API,但是,这不是一个理想的解决方案。我正在尝试让混合连接(端口桥)以相同
有没有办法将通过 APIM 请求传入的查询参数作为路径参数传递给后端服务调用?例如: 对于以下 API 调用 base_url/a/{pathParam1}?query=Qvalue 我想将 URL
我是一名优秀的程序员,十分优秀!