如何在 GraphQL 操场上执行突变?

Posted

技术标签:

【中文标题】如何在 GraphQL 操场上执行突变?【英文标题】:How can I execute mutation in GraphQL playground? 【发布时间】:2019-12-23 05:40:12 【问题描述】:

我的目标:我想在 GraphQL Playground 中执行突变。

我的架构如下所示:

type Mutation 
    # Add a new comment
    addComment(comment: InputComment!): Comment


# Input type for a new Comment
input InputComment 
    # The comment text
    comment: String!
    # The id of the author
    author: String!
    # The id of the talk
    talkId: Long!

如果我有的话,我发现了很多有用的例子:

type Mutation 
    # Add a new comment
    addComment(comment: String!, author: String!, talkId: Long!): Comment

但我不明白如何在 GraphQL Playground 中即时创建 InputComment 类型的对象。

例如,对于我可以运行的最后一个场景:

mutation 
  addComment(
    comment: "My great comment"
    author: "The great author"
    talkId: 123
  ) 
    id
  

【问题讨论】:

当您提出关于 SO 的问题时,请务必包括您使用的语言以及任何框架或库。这使帮助您变得更加容易。我们中的许多人都在使用 Apollo Server 和 Apollo 客户端,但还有一些值得注意的其他人已经实现了 Playground,它们可能有不同的要求,我不知道,但应该包括有关您的堆栈的更多信息。 【参考方案1】:
mutation 
  addComment(comment: comment: "Cool", author: "Me", talkId: 12) 
    createdOn
    id
  

【讨论】:

【参考方案2】:

还在您的架构中添加评论类型

type Comment 
   id: ID! 
   comment: String!
   author: String!
   talkId: Long!


# Input type for a new Comment
input InputComment 
    comment: String!
    author: String!
    talkId: Long!


type Mutation 
    # Add a new comment
    addComment(comment: InputComment!): Comment


##Then query should be
mutation 
  addComment(comment: comment: "test comment", author: "Sample name", talkId: 123) 
    id,
    comment,
    author,
    talkId
  

【讨论】:

以上是关于如何在 GraphQL 操场上执行突变?的主要内容,如果未能解决你的问题,请参考以下文章

在 Graphql 操场上使用 AWS Cognito 用户池对 AppSync 突变进行身份验证

如何在 GraphQL 中执行突变?

如何在 sangria-graphql 中执行突变?

注册突变时的 Prisma graphql 错误

Graphql 突变返回 Post 400 错误,不知道如何解决

如何决定用于 GraphQL 突变的根值