[go]在查询和响应对象字段解析器之间传递变量的最佳方式是什么?

· 收录于 2024-01-06 04:09:07 · source URL

问题详情

我需要同步方式在查询和响应对象字段解析器之间传递变量。 我知道 OperationContext,但它是基本映射,所以我有一些并发问题。

tmp := "Hello world"
graphql.GetOperationContext(ctx).Variables["HelloWorld"] = &tmp
tmp2 := graphql.GetOperationContext(ctx).Variables["HelloWorld"].(*string)

例如,我的架构

Object {
  ID: ID!
  isOK: Boolean! @goField(forceResolver: true)
}

type Query {
  Objects: [Object!]
}

最佳回答

查询解析程序

应在任何字段解析程序运行之前运行完成。您可以将所需的任何字段附加到查询解析程序的结果。这些将在字段解析器的变量中可用。您添加的额外字段最终将从返回给客户端的最终结果中去除。