【发布时间】:2021-08-10 08:59:05
【问题描述】:
【问题讨论】:
标签: graphql wso2 wso2-am introspection
【问题讨论】:
标签: graphql wso2 wso2-am introspection
根据 WSO2 API 网关中的 GraphQL 实现,我们只允许通过网关进行查询/变异操作,因为网关为请求查询时可用的操作提供 QOS(操作级安全性、节流和分析)。上述错误返回是因为提供的查询尚未包含任何操作,但网关验证查询上的操作可用性
在这里,应用程序开发人员/API 开发人员已经知道 GraphQL 后端中可用的类型,因为他们已经在 SDL 文件中拥有类型系统。如果他们不知道后端可用的 graphql 类型,则需要自省,因此 GraphQL 提供自省功能,可以通过查询 __schema 字段来检索它们。
【讨论】:
https://<our-hostname>/api/am/store/v1/apis/<our-api-id>/graphql-schema 但它有错误的 Content-Type Header(它说它返回 json,但它没有)如果 Content-Type Header 将被修复(不确定哪个是正确的,也许是application/graphql?),我们应该能够在我们的前端构建过程中使用它
如果您的要求是检索类型系统,您可以使用 GET https:///api/am/store/v1/apis//graphql-schema REST API 来获取SDL 作为字符串。要从 FrontEnd 构建它,您可以尝试以下方法。
const sdlSchema = `type Author {
firstName: String
lastName: String
}
type Query {
author(id: Int!): Author
}
`;
const graphqlSchemaObj = buildSchema(sdlSchema);
注意:此处使用 (GET https:///api/am/store/v1/apis//graphql-schema) 检索 SDL 架构
【讨论】: