【发布时间】:2016-03-04 21:03:44
【问题描述】:
请原谅这个幼稚的问题,但我已经到处寻找答案,但我发现的一切要么含糊不清,要么对我来说毫无意义。以 GraphQL 规范中的这个例子为例:
query getZuckProfile($devicePicSize: Int) {
user(id: 4) {
id
name
profilePic(size: $devicePicSize)
}
}
将此查询命名为getZuckProfile 有什么意义?我见过一些关于包含多个操作的 GraphQL 文档。命名查询是否会以某种方式影响返回的数据?我自己会对此进行测试,但我没有可以轻松进行实验的服务器和数据集。但是,如果某些文档中的某些内容可以澄清这一点,那就太好了——到目前为止,所有示例都是超级简单的单个查询,或者是已命名但不能解释为什么会这样的查询(除了“这是一个很酷的你能做的事。”)命名查询有什么好处,而我在每个请求都发送一个匿名查询时没有这些好处?
另外,关于突变,我在规范中看到:
mutation setName {
setName(name: "Zuck") {
newName
}
}
在这种情况下,您指定了两次setName。为什么?我知道其中之一是突变的字段名称,需要将其与后端架构匹配,但为什么不呢:
mutation {
setName(name: "Zuck") {
...
两次指定同一个名称有什么好处?我知道第一个可能是任意的,但为什么不是噪音?我必须遗漏一些明显的东西,但到目前为止我发现的任何东西都没有为我清除它。
【问题讨论】:
标签: graphql