GraphQL执行
使用GraphQLExecute策略通过子查询执行GraphQL查询。
网关支持
| 网关 | 策略版本 |
|---|---|
| DataPower® API Gateway | 2.2.0.0DataPower API Gateway 10.0.4.0及更高版本) 2.2.1.0DataPower API Gateway 10.5.2.0及更高版本) |
本主题介绍如何在程序集用户界面中配置策略;有关如何在OpenAPI源中配置策略的详细信息,请参阅graphql-execute。
关于
GraphQLExecute策略通过使用子查询来执行GraphQL查询。 该策略可将原始GraphQL查询拆分成不同的子查询,然后以不同的方式进行处理。 GraphQLExecute策略支持以下四种不同的子查询作为目标:
root; 包含要在后台调用的核心GraphQL查询。__introspection;包含反省查询,可在 "DataPower API Gateway上进行本地处理,无需调用后台。__rateLimit;包含 "__rateLimit查询,用于指定要接收的不同速率限制数据。__cost;包含 "__cost查询,用于指定要接收的不同成本数据。 该查询必须采用IBM GraphQL成本指令规范中指定的格式,请参阅成本分析结果的自省:__cost.
root、"__rateLimit"和 "__introspection"目标可按任意顺序执行,也可同时执行。 如果没有预期的响应数据,可以随时执行 "__cost目标。 如果预期会有响应数据,则 "__cost目标会在 "root目标之后执行,以便准确返回正确的响应成本数据。 执行所有目标后,GraphQLExecute策略会将所有响应合并在一起。 为使各个目标的响应能够正确地相互合并为最终的单一响应,GraphQL执行策略必须包含与每一级响应数据相关联的所有自省类型。属性
下表列示了策略属性,指示属性是否为必需属性,指定输入的有效值和缺省值并指定值的数据类型。
| 属性标签 | 必需 | 描述 | 数据类型 |
|---|---|---|---|
| 职务 | False | 策略的标题。 缺省值为 |
字符串 |
| 描述 | False | 对策略的描述。 | 字符串 |
| 目标 | False | 子查询的目标。 有效值为:
|
字符串 |