在WSO2上发送GraphQL自省请求

在WSO2上发送GraphQL自省请求,graphql,wso2,wso2-am,introspection,Graphql,Wso2,Wso2 Am,Introspection,对于WSO2中的GraphQL API,WSO2是否支持GraphQL内省?我们如何尝试执行GraphQL内省请求以绕过以下错误: 根据WSO2 API网关中的GraphQL实现,我们只允许通过网关执行查询/变异操作,因为网关为请求查询时可用的操作提供QOS(操作级别安全、节流和分析)。返回上述错误是因为提供的查询未包含任何操作,但网关验证查询上的操作可用性 在这里,应用程序开发人员/API开发人员已经知道GraphQL后端中有哪些类型可用,因为他们在SDL文件中已经有了类型系统。如果他们不知道

对于WSO2中的GraphQL API,WSO2是否支持GraphQL内省?我们如何尝试执行GraphQL内省请求以绕过以下错误:


根据WSO2 API网关中的GraphQL实现,我们只允许通过网关执行查询/变异操作,因为网关为请求查询时可用的操作提供QOS(操作级别安全、节流和分析)。返回上述错误是因为提供的查询未包含任何操作,但网关验证查询上的操作可用性


在这里,应用程序开发人员/API开发人员已经知道GraphQL后端中有哪些类型可用,因为他们在SDL文件中已经有了类型系统。如果他们不知道后端中可用的graphql类型,则需要内省,因此graphql提供内省功能,通过查询_schema字段来检索它们。

如果您的要求是检索类型系统,您可以使用GEThttps:///api/am/store/v1/apis//graphql-schemaRESTAPI,它被传递以获取作为字符串的SDL。要从前端构建它,您可以尝试以下方法

const sdlSchema = `type Author {
    firstName: String
    lastName: String
  }
  type Query {
    author(id: Int!): Author
  }
`;

const graphqlSchemaObj = buildSchema(sdlSchema); 

注意:这里可以使用(GET)检索SDL模式https:///api/am/store/v1/apis//graphql-schema)

我们的前端团队希望将此功能用于graphql codegen。他们的问题是,;有一个端点返回架构并具有固定的令牌身份验证:
https:///api/am/store/v1/apis//graphql-schema
但是如果内容类型头是固定的,它有错误的内容类型头(它说它返回
json
,但它没有)(不确定正确的是什么,可能是
application/graphql
?),我们应该能够在前端构建过程中使用它您提到的RESTAPI(获取https:///api/am/store/v1/apis//graphql-schema)是获取SDL架构的内容。这次我们没有向GraphQL后端发送任何请求;这是您在创建GraphQL API时上载到APIM Publisher的内容。其余调用使用“application/json”从APIM devportal检索内容。对于与GraphQL后端关联的网关请求,您必须使用如果您直接传递查询,则将“application/graphql”作为内容类型。此外,您还可以使用“application/json”,方法是将负载构造为{“query”:“…”、“operationName”:“…”、“variables”:{“myVariable”:“someValue”、…}}Follow:{apid}~1graphqlschema/get