【问题标题】:GraphQL and graphql-sequelize-schema-generatorGraphQL 和 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."}]}

我做错了什么!?

【问题讨论】:

    标签: sequelize.js graphql express-graphql


    【解决方案1】:

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

    schema: new GraphQLSchema(schema)
    

    【讨论】:

      猜你喜欢
      • 2020-04-11
      • 2021-06-24
      • 2018-07-17
      • 2018-11-28
      • 2019-08-20
      • 2016-05-06
      • 2021-03-28
      • 2022-12-02
      • 2017-07-19
      相关资源
      最近更新 更多