GraphQL字符串拼接或插值

23

我正在使用 GitHub API v4 学习 GraphQL。这里有一个错误的查询,可以获取给定分支的 blob(文件)及其文本内容:

query GetTree($branch: String = "master") {
  repository(name: "blog-content", owner: "lzrski") {
    branch: ref(qualifiedName: "refs/heads/${branch}") {
      name
      target {
        ... on Commit {
          tree {
            entries {
              name
              object {
                ... on Blob {
                  isBinary
                  text
                }
              }
            }
          }
        }
      }
    }
  }
}

如第3行所示,那是我猜测插值语法的尝试,但它不起作用 - 我将其留作我的意图说明。

我可以为修订提供完全限定名称,但这似乎并不特别优雅。是否有任何 GraphQL 本机方法来操作字符串?

1个回答

15

我认为在GraphQL规范中并没有明确概述有关在查询中操作字符串值的方法。

然而,在实际应用中使用GraphQL查询时,您会通过在请求中传递变量来提供大多数查询参数。因此,与其在查询中完成操作,您将在客户端代码中完成大部分字符串操作,以组合表示变量的JSON。


你能给一个例子来参考一下OP的问题吗?我无法想象如何使用带有变量的JSON?qualifiedName: "refs/heads/${branch}"应该是一个JSON对象,然后在GraphQL中作为变量使用吗? - Timo
提到我一个小时前的评论,我通过这个示例使用requestquery以及variables作为data来解决了它。 - Timo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接