GraphQL 和 graphql-sequelize-schema-generator

Posted

技术标签:

【中文标题】GraphQL 和 graphql-sequelize-schema-generator【英文标题】:GraphQL and graphql-sequelize-schema-generator 【发布时间】:2018-09-07 13:54:40 【问题描述】:

我已经使用 graphql、nodejs、express 和 sequelize(使用 mysql)构建了一个小代码,但我还找不到 graphql 的魔力。我会使用 sequelize-cli(使用 sequelize model:create 等)创建我的模型,并且我会动态生成我的模式和类型:

var types = generateModelTypes([db['User'], db['Acesso']])
var schema = generateSchema(User: db['User'], Acesso: db['Acesso'], types)

我按照以下方式打开了我的应用程序:

app.use(
    '/graphql',
    graphqlHTTP(
        schema: schema,
        graphiql: true
    )
)

app.listen(4000, function ()
    console.log("Calling app.listen's callback function.");
)

但我无法使用它在 graphiql 上发送一个查询:

curl -X POST -H "Content-Type:application/json" -d ' "query": " users  id  " ' localhost:4000/graphql

我收到此错误:

"errors":["message":"Expected [object Object] to be a GraphQL schema."]

我做错了什么!?

【问题讨论】:

【参考方案1】:

查看graphql-sequelize-schema-generator 的文档,生成的架构实际上并不是 GraphQLSchema 的实例,因此您需要执行以下操作:

schema: new GraphQLSchema(schema)

【讨论】:

以上是关于GraphQL 和 graphql-sequelize-schema-generator的主要内容,如果未能解决你的问题,请参考以下文章

GraphQL 和 graphql-sequelize-schema-generator

graphql-yoga - GraphQL 解析器参数在哪里定义和记录?

如何使用 GraphQL.Net 和 c# 将集合传递给 GraphQL 突变?

NestJS 和 GraphQL - TypeError:graphql_1.parse 不是具有最少设置的函数

使用 REST 包装 GraphQL 从 NestJS 提供 GraphQL 和 REST API

GraphQL 和 Relay 的概念