架构没有configuration为突变
我有以下架构:
import { GraphQLSchema, GraphQLObjectType, GraphQLInt, GraphQLString } from 'graphql'; let counter = 100; const schema = new GraphQLSchema({ // Browse: http://localhost:3000/graphql?query={counter,message} query: new GraphQLObjectType({ name: 'Query', fields: () => ({ counter: { type: GraphQLInt, resolve: () => counter }, message: { type: GraphQLString, resolve: () => 'Salem' } }) }), mutiation: new GraphQLObjectType({ name: 'Mutation', fields: () => ({ incrementCounter: { type: GraphQLInt, resolve: () => ++counter } }) }) }) export default schema;
以下查询正常工作:
{counter, message}
但是, mutation {incrementCounter}
会引发以下错误:
{ "data": null, "errors": [ { "message": "Schema is not configured for mutations", "locations": [ { "line": 1, "column": 1 } ] } ] }
已知服务器是:
import GraphQLHTTP from 'express-graphql'; const app = express(); app.use('/graphql',GraphQLHTTP({schema}));
什么是缺失的事情,使突变configuration?
我得到了我的错误,这是一个错字:而不是在Schema构造函数中写入mutation
,我写了mutiation
。
const schema = new GraphQLSchema({ // Browse: http://localhost:3000/graphql?query={counter,message} query: new GraphQLObjectType({ name: 'Query', fields: () => ({ counter: { type: GraphQLInt, resolve: () => counter }, message: { type: GraphQLString, resolve: () => 'Salem' } }) }), mutation: new GraphQLObjectType({ //⚠️ NOT mutiation name: 'Mutation', fields: () => ({ incrementCounter: { type: GraphQLInt, resolve: () => ++counter } }) }) })