如何在响应中将两个变量合并为一个?

莫里斯·克里梅克

我向 Azure API 管理添加了两个 API。它基本上是相同的 API,但适用于不同的环境。出于监控目的,我想创建一个操作,该操作将在两个 API 中调用相同的方法并将它们的结果合并为一个。我目前使用模拟数据处理模拟 API。

为此,我创建了一个带有空白操作的空白 API。在此操作中,我声明了以下入站策略:

<inbound>
    <set-variable name="env1" value="" />
    <set-variable name="env2" value="" />
    <send-request mode="new" response-variable-name="env1" timeout="20" ignore-error="false">
        <set-url>https://env1-api.azure-api.net/api/data</set-url>
        <set-method>GET</set-method>
        <set-header name="Content-Type" exists-action="override">
            <value>application/json</value>
        </set-header>
    </send-request>
    <send-request mode="new" response-variable-name="env2" timeout="20" ignore-error="false">
        <set-url>https://env2-api.azure-api.net/api/data</set-url>
        <set-method>GET</set-method>
        <set-header name="Content-Type" exists-action="override">
            <value>application/json</value>
        </set-header>
    </send-request>
    <base />
</inbound>

测试时,称为 throws 500 的操作(我相信这是可以理解的,因为没有设置响应)。当我查看 Trace 选项卡时,我可以看到两条消息:

已发送到“ https://env1-api.azure-api.net/api/data ”的GET 请求,结果存储在“env1”变量中。

对“ https://env2-api.azure-api.net/api/data ”的GET 请求已发送,结果存储在“env2”变量中。

基于此,我得出结论,呼叫工作正常。这就是我被困的地方。我不知道如何在响应中合并这两个变量。

API 以 JSON 对象的形式返回一组对象。我想要实现的是将这两个响应合并为一个将由操作返回的响应。如何撰写回复?

请记住,我是 Azure 的菜鸟,所以我的方法可能过于原始。如果你有更好的东西,我很想听听。

PramodValavala-MSFT

要添加到 Aleksander 的答案,在return-responsepolicy 中,您可以通过两种方式组成最终主体

  1. 使用策略表达式
<set-body>@{
    var output = new
    {
        success = true,
        var1 = context.Variables["var1"]
    };
    return JsonConvert.SerializeObject(output);
}</set-body>
  1. 使用液体模板
<set-variable name="var1body" value="@((IResponse)context.Variables["var1"]).Body.As<string>())" />
<set-body template="liquid">{
"success": true,
"var1": "{{context.Variables["var1body"]}}"
}</set-body>

您可以在其文档中阅读有关该set-body政策的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C#中将两个StringCollection合并/合并为一个

来自分类Dev

如何在Java中将两个JSON字符串合并为一个

来自分类Dev

如何在jQuery中将两个事件处理程序合并为一个?

来自分类Dev

如何在 Kotlin 中将两个不同的类数据合并为一个

来自分类Dev

如何在PHP代码中将两个表中的两个查询合并为一个查询?

来自分类Dev

将两个变量合并为一个

来自分类Dev

如何在Android中将两个音频文件合并为一个音频文件?

来自分类Dev

如何在Excel中将两个垂直数字列表合并为一个长垂直列表?

来自分类Dev

如何在SELECT查询中将两个布尔列合并为一个varchar列?

来自分类Dev

如何在存储过程中将两个MS SQL Server表合并为一个表

来自分类Dev

如何在PySpark中合并并将两个rdd合并为一个

来自分类Dev

如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

来自分类Dev

如何在Xpath中将两个节点合并为一组?

来自分类Dev

如何在Python中将具有相同轴的两个箱形图合并为一个箱形图

来自分类Dev

无法从mysql中将两个查询的结果合并为一个

来自分类Dev

在pygame中将两个图像合并为一个

来自分类Dev

在Oracle SQL中将两个表合并为一个

来自分类Dev

在Python中将两个文本合并为一个

来自分类Dev

在R中将两个“ lm”对象合并为一个

来自分类Dev

在Python中将两个日期列合并为一个

来自分类Dev

在混合模型图中将两个图合并为一个图

来自分类Dev

在Python中将两个列表元素合并为一个?

来自分类Dev

在mongodb中将两个键合并为一个键

来自分类Dev

在unity3d中将两个不同的纹理合并为一个

来自分类Dev

在Codeigniter中将两个列合并为一个列

来自分类Dev

在 angular2 中将两个 URL 合并为一个 - ionic2

来自分类Dev

在 Jquery/Javascript 中将两个 json 对象合并为一个 json 对象

来自分类Dev

在SQL中将具有多个公共列的两个表合并为一个

来自分类Dev

在Scala中使用flatMap时,如何将两个Option [String]变量合并为一个?

Related 相关文章

  1. 1

    如何在C#中将两个StringCollection合并/合并为一个

  2. 2

    如何在Java中将两个JSON字符串合并为一个

  3. 3

    如何在jQuery中将两个事件处理程序合并为一个?

  4. 4

    如何在 Kotlin 中将两个不同的类数据合并为一个

  5. 5

    如何在PHP代码中将两个表中的两个查询合并为一个查询?

  6. 6

    将两个变量合并为一个

  7. 7

    如何在Android中将两个音频文件合并为一个音频文件?

  8. 8

    如何在Excel中将两个垂直数字列表合并为一个长垂直列表?

  9. 9

    如何在SELECT查询中将两个布尔列合并为一个varchar列?

  10. 10

    如何在存储过程中将两个MS SQL Server表合并为一个表

  11. 11

    如何在PySpark中合并并将两个rdd合并为一个

  12. 12

    如何在 Kotlin 中将两个数组与参数数组合并为一个数组?

  13. 13

    如何在Xpath中将两个节点合并为一组?

  14. 14

    如何在Python中将具有相同轴的两个箱形图合并为一个箱形图

  15. 15

    无法从mysql中将两个查询的结果合并为一个

  16. 16

    在pygame中将两个图像合并为一个

  17. 17

    在Oracle SQL中将两个表合并为一个

  18. 18

    在Python中将两个文本合并为一个

  19. 19

    在R中将两个“ lm”对象合并为一个

  20. 20

    在Python中将两个日期列合并为一个

  21. 21

    在混合模型图中将两个图合并为一个图

  22. 22

    在Python中将两个列表元素合并为一个?

  23. 23

    在mongodb中将两个键合并为一个键

  24. 24

    在unity3d中将两个不同的纹理合并为一个

  25. 25

    在Codeigniter中将两个列合并为一个列

  26. 26

    在 angular2 中将两个 URL 合并为一个 - ionic2

  27. 27

    在 Jquery/Javascript 中将两个 json 对象合并为一个 json 对象

  28. 28

    在SQL中将具有多个公共列的两个表合并为一个

  29. 29

    在Scala中使用flatMap时,如何将两个Option [String]变量合并为一个?

热门标签

归档