首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理GraphQL突变?

如何处理GraphQL突变?
EN

Stack Overflow用户
提问于 2018-05-10 20:15:32
回答 2查看 94关注 0票数 0

在graphql-yoga中创建类型突变后,我如何处理突变的解析器?

我曾尝试为突变创建解析器,但当我在图形操场中运行时,我发现代码返回错误。

下面是我的代码:

代码语言:javascript
复制
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`))

如果有人知道我如何为解析器做变异,可以和我分享吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-05-11 00:09:06

createUser解析器的定义如下:

代码语言:javascript
复制
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} 
      }
    }
  }
票数 0
EN

Stack Overflow用户

发布于 2018-05-11 05:21:26

最后,它对我起作用了。我使用了这个:

代码语言:javascript
复制
const resolvers = {
  Query: {
    users: () => User
  },
  Mutation: {
    createUser: (source, {input}) => {
        let newUser = [];
        newUser.id = id;
        newUser.name = input.name;

        User.push(newUser);
        return newUser;
    }
  }
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50272785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档