【问题标题】:Which side does the select take place for graphql?graphql 的选择发生在哪一侧?
【发布时间】:2020-05-09 06:22:15
【问题描述】:

假设我有这种类型:

type User {
  name: string!
}

但是解析器将那个对象打包回来:

{
  "name": "john",
  "topSecretPassword": "123456"
}

graphql 客户端不知道如何选择字段topSecretPassword,因为它超出了架构。该字段是否发送到客户端并被丢弃?是否在服务器端忽略该字段?

【问题讨论】:

    标签: security graphql apollo-server


    【解决方案1】:

    GraphQL 服务仅返回请求的字段。如果未请求该字段,则不会出现在响应中。如果架构中不存在该字段,则无法请求该字段。

    无论解析器返回什么,这都是正确的。解析器中返回的值始终强制转换为适当的类型。对于对象类型,它的各个字段根据它们自己的解析器进行解析。

    关于如何执行的详细解释,请参考spec

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-06
      相关资源
      最近更新 更多