支持 GraphQL API 的自省

如果在创建 GraphQL 代理 API 时选择 支持缺省自省 选项,那么客户机应用程序可以向 API 发送 GraphQL 自省请求。

自省允许客户机应用程序请求在 GraphQL 模式中定义的所有类型和字段的详细信息。 创建 GraphQL 代理 API 时,网关将处理从客户机应用程序发送到该 API 的自省请求。 该响应反映了您使用 GraphQL 模式编辑器对模式所做的任何修改。

选择 支持缺省自省 选项时, API ConnectAI Gateway 将创建自省端点。 GraphQL 编辑器始终尝试对 GraphQL 端点进行自省,因此禁用此选项会显着降低 GraphiQL 编辑器用户的测试能力。 此选项还会自动在 API 组合件中生成策略配置,如果禁用此选项,并且稍后决定需要此选项,那么必须手动创建策略配置; 请参阅 API 组合件策略以获取自省支持 部分以获取详细信息。 禁用此选项也会限制开发者门户测试 GraphQL 代理 API 的功能。

另一方面,提供自省支持可能会产生资源影响,您可以选择以另一种方式传达模式信息。 但是,请注意, GraphiQL 编辑器不允许定制自省查询来填充文档资源管理器。 有关内省的更多信息,请参阅 GraphQL 文档中的 “内省” 部分,网址为 https://graphql.org/

用于自省支持的 API 组合件策略

此部分详述在以下情况下自动生成的 API 组合件策略配置:在创建 GraphQL 代理 API 时选择了支持缺省自省选项。 如果创建时未选择此选项,之后决定要启用此选项,那么必须手动将其添加到 API 组合件中。

case 与以下条件一起添加到 switch 策略:
($operationPath() = '/graphql' and message.attributes.parse.GraphQLIntrospection = 'standard-introspection')
如果条件为 true,则按照指示的属性设置依次执行以下策略:
速率限制
属性
按名称计划
速率限制名称 graphql-design-request
操作 使用
GraphQL 自省
属性
输入 消息
输出 无值,缺省为输入
在装配体用户界面中显示的自动生成的配置如下:
显示自省支持的组合件配置的截屏