了解 Sangria-graphql 执行器

Posted

技术标签:

【中文标题】了解 Sangria-graphql 执行器【英文标题】:Understanding Sangria-graphql Executor 【发布时间】:2017-06-10 14:52:54 【问题描述】:

目前,我正在使用 playframework 学习 Sangria-graphql,并通过 here 学习教程。我了解 Executor Executor.execute(schema, query, new ProductRepo),它接受模式、查询和上下文。另一方面,当我浏览演示示例代码时,我使用了 Executor,其中还提供了 operationName 和 Variables。例如,

Executor.execute(SchemaDefinition.StarWarsSchema, queryAst, new CharacterRepo,
            operationName = operation,
            variables = variables getOrElse Json.obj(),
            deferredResolver = DeferredResolver.fetchers(SchemaDefinition.characters),
            maxQueryDepth = Some(10))
          .map(Ok(_))

我不太明白。如果变量意味着我们的查询的争论,那么查询它自己包含查询参数,例如以下查询中的id


  human(id: "1000") 
    name
    height(unit: FOOT)
  

另外,为什么以及如何在这种情况下操作名称是有益的?那么,任何人都可以解释一下它以及客户端如何为这些操作名和变量提供查询请求。

【问题讨论】:

【参考方案1】:

在这种情况下,变量的含义不同于参数(例如您的id: "1000")。

看看documentation of variables in GraphQL。

operationName 也是如此:documentation for this

【讨论】:

以上是关于了解 Sangria-graphql 执行器的主要内容,如果未能解决你的问题,请参考以下文章

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

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

了解 Spring Boot 执行器`http.server.requests` 指标 MAX 属性

你了解JVM如何执行字节码文件的吗?

了解为啥执行某些位操作操作

完全了解.exe文件的执行方式