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

Posted

技术标签:

【中文标题】如何在 sangria-graphql 中执行突变?【英文标题】:How to perform Mutation in sangria-graphql? 【发布时间】:2017-06-07 14:40:58 【问题描述】:

目前,我正在从 here. 学习 sangria-graphql 但是,我找不到任何有关 Mutation(添加、更新、删除)的文档。此外,谷歌不会帮助我太多。那么,你们能给我提供什么好的资源吗?

【问题讨论】:

【参考方案1】:

GraphQL 中的突变被建模为对象类型,就像 Query 类型一样。 GraphQL 模式有 3 个被建模为对象类型的***入口点:

Query type - 查询的根 Mutation type - 突变的根源 Subscription type - 订阅的根目录

当您创建方案时,您可以提供全部 3 个:

Schema(QueryType, Some(MutationType), Some(SubscriptionType))

否则,突变的工作方式与查询非常相似,只是突变***字段是按顺序执行的(保证不会并行执行)。

有关更多信息和示例,我建议您查看sangria-subscriptions-example,它演示了除正常查询之外的突变和订阅。我建议您从架构定义开始:

https://github.com/sangria-graphql/sangria-subscriptions-example/blob/master/src/main/scala/schema.scala#L87

【讨论】:

我发现以下链接中的示例比此答案中引用的示例更有用:howtographql.com/graphql-scala/8-mutations

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

了解 Sangria-graphql 执行器

如何在 GraphQL 中执行突变?

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

如何在突变 graphQL Playground 中传递变量?

Sangria-graphql:将 derivedInputObjectType 作为变异参数传入时出错

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