当前位置: 首页 > 知识库问答 >
问题:

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

谷梁俊楚
2023-03-14

目前,我正在从这里学习sangria-graphql。然而,我找不到任何关于突变(添加,更新,删除)的文档。还有,谷歌也不会帮我多少。你们能给我提供什么好的资源吗?

共有1个答案

晁璞
2023-03-14

GraphQL中的突变被建模为对象类型,就像query类型一样。GraphQL模式有3个顶级入口点,它们被建模为对象类型:

  • query类型-查询的根
  • 突变类型-突变的根
  • 订阅类型-订阅的根

当您创建方案时,您可以提供所有3个:

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

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

 类似资料:
  • 我正在查看用Scala编写GraphQL服务器的Sangria库。但奇怪的是,同一个类型系统必须实现两次:(1)作为GraphQL类型声明的一部分,(2)也是在服务器端,作为Scala case类,附带ObjectType、InterfaceType等。 在Scala中硬编码类型系统尤其令人厌烦,因为我的目的是能够CRUD任意形状的聚合,其中每个形状都被定义为类型的GraphQL集合。例如,假设S

  • 所以我不知道这是否真的描述了我的问题,但这是我能得到的最接近的吗? 我正在使用AWSAppsyncClient进行一些GraphQL突变。由于模型的性质,在更大程度上,由于我缺乏经验,我需要创建一个记录,然后创建两个依赖于第一个的记录,然后才能将它们链接到数据库中。 目前,我正在进行第一次变异,它返回所创建记录的ID。然后在查询返回的promise中创建中间记录。它基本上看起来像: 问题是Prom

  • 我已经在MicroProfile容器(WildFly)中部署了一个突变,并且能够在GraphQL UI中执行它: 然而,当我尝试使用cURL执行相同的突变时: 然而,它在以下方面失败了: 我还没有发现很多使用cURL等命令行工具运行变种的例子,也不知道错误在哪里。有什么帮助吗?谢谢

  • 当客户机发送请求时,我想知道客户机请求的数据字段是什么。例如 在上面的请求中,客户端请求了用户的字段和字段。在执行查询时,我如何知道/获得桑格利亚酒-graql服务器中的这些指定字段,即名称和地址?

  • 我是GraphQL的新手。我已经有了一个添加数据的模式和变异,但是我有点纠结于如何进行更新变异来更新数据库中的现有数据。 我想我知道我可能需要做些什么来实现这一点,但我会感谢一些关于我的想法是否是正确的方法的指示。 这是我的模式,其中包含我的突变GraphQLObject。 我是否正确地说,在解析函数中,我需要首先通过id在数据库中找到相关对象,然后返回任何arg已更新/更改的args?我不知道如