Как я могу работать с GraphQL Mutation? - PullRequest
0 голосов
/ 10 мая 2018

как я могу работать с резольверами для мутаций после создания мутаций типа в graphql-yoga?

Я пытался создать преобразователи для мутаций, но когда я запускаю в Graph Playground, я возвращаю код ошибки.

Playground

и вот мой код:

const { GraphQLServer } = require('graphql-yoga')

// 1
const typeDefs = `
type Query {
    users: [User!]!
    user(id: ID!): User
  }

  type Mutation {
    createUser(name: String!): User!
  }

  type User {
    id: ID!
    name: String!
  }
`

// 2
const resolvers = {
    Query: {
      users: () => User,
    },
    Mutation: {
      // WHAT SHOULD I WRITE IN HERE?
    }
  }

// 3
const server = new GraphQLServer({
  typeDefs,
  resolvers,
})
server.start(() => console.log(`Server is running on http://localhost:4000`))

если кто-то знает, как я могу сделать для мутации резольверов, можете поделиться со мной? спасибо

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Наконец-то это работает для меня. я использовал это:

const resolvers = {
  Query: {
    users: () => User
  },
  Mutation: {
    createUser: (source, {input}) => {
        let newUser = [];
        newUser.id = id;
        newUser.name = input.name;

        User.push(newUser);
        return newUser;
    }
  }
}
0 голосов
/ 10 мая 2018

Resolver для createUser можно определить следующим образом:

const resolvers = {
    Query: {
      // Query resolvers
    },
    Mutation: {
      createUser: (parent, args) => {
         // Business logic. Maybe save record in database
         // Return created user. I am returning dummy data for now, so that you can test it in playground
         return {id: 1, name: "John} 
      }
    }
  }
...