添加或更新值
本单元探讨可用于设置 API 请求和响应中的数据值的策略模板。 最常见的应用场景是设置 API 请求的正文、标头或查询中的必填值,从而无需开发者提供相关值。 策略灵活处理与设置请求和响应数据相关的各种任务。 以下策略模板可供使用并且专注于设置数据值:
设置属性 - 添加或更新对象或集合的属性。
设置查询字符串参数 - 添加或更新查询字符串中的参数。
设置 HTTP 标头 - 添加或更新请求和/或响应标头中的值。
使用设置属性策略模板
设置属性策略模板可用于设置或更新请求或响应对象正文中的值。 您可以使用字符串值或使用@body()的表达式从正文对象中获取其他现有值来设置常量值。 以下示例展示如何设置响应正文中的常量值。
如果查看实施策略模板后的响应,您将看到下图。
上一示例显示ListInvoice操作返回包含发票属性(发票对象数组)的对象。 如要设置发票数组中各发票的前缀属性,您将按下图更改父对象或集合路径。
更改后的输出将与下图相似。
您还可以引用已在正文中设置的其他值。 例如下图显示 FullValue 属性包括 Prefix 属性。
请注意要添加的值字段包含{@body().Prefix}表达式,从正文获取前缀值。 您必须在表达式外添加大括号 ({expression}) 才能使表达式生效。
仅在该字段中引用@body表达式有效;不支持使用其他表达式,比如@connectionProperties、@headers或@queryParameters。
使用设置查询字符串参数策略模板
设置查询字符串参数模板策略可用于添加或更新请求的查询参数。 查询字符串仅与请求相关,因此无需设置策略运行对象值。 与始终设置值(即便值已存在)的设置属性策略不同,本策略可以配置。 如果参数存在,可将操作设置为以下某一选项:
覆盖 - 替换现有值。
跳过 - 不替换现有值。
追加 - 向现有值追加策略模板值。
本功能支持您控制值的使用时机,是提供默认值的好方法。 本方法示例:Microsoft Outlook 连接器使用设置查询字符串参数策略将$top参数的默认值设置为50。 以下示例展示策略模板的外观。
请注意对查询参数存在时的操作值使用跳过选项,确保本策略仅用作默认值。
使用设置 HTTP 标头策略模板
您可以使用设置 HTTP 标头策略模板添加或更新请求、响应或失败标头中的值。 与设置查询字符串策略模板相类似,您可在值已存在时选择本操作。 策略模板常用于设置 API 期望的标头值,比如发件人标识、跟踪更改的 ETag 或未由常规连接器设置处理的特殊 API 密钥标头。 例如 Azure 认知服务连接器使用设置标头策略模板将 X-Ms-Sender 标头值设置为 Microsoft Azure 逻辑应用。 以下示例展示策略模板的外观。
您可以使用这些策略模板设置 API 期望的值。 您还可以使用这些策略模板设置响应中的值,从而简化开发者使用数据的任务。 这些策略还可用于设置未提供的默认值。 您可以按特定顺序使用多个策略编制更复杂的值。