gpt4 book ai didi

javascript - GraphQL 接口(interface)定义是否将其实现类型绑定(bind)到使用相同的输入参数 "signature"?

转载 作者:行者123 更新时间:2023-11-30 21:14:42 27 4
gpt4 key购买 nike

例如,GitHub API 声明了一个名为 Actor 的类型:

interface Actor {

avatarUrl(size: Int): URI!

login: String!

resourcePath: URI!

url: URI!
}
  1. 是否可以安全地假设每个实现 Actor 的类型都为字段 avatarUrl 采用一个 Int 输入参数?
  2. Actor 的子类型能否在 avatarUrl 字段上声明更多输入参数?

这是针对模式语言(客户端实现)的转译器,因此我不想做出任何可能在运行时失败的假设。

最佳答案

就 GraphQL.js 而言:

  1. 是的,任何实现 Actor 接口(interface)的类型都需要在其 avatarUrl 字段中包含 size 参数定义。

    需要明确的是,如果参数不是 NonNull,客户端仍然可以在查询中将其关闭。但是,它始终需要包含在类型定义中,否则 GraphQL 会报错。

  2. 是的,实现 Actor 的类型可以在该字段上声明超出接口(interface)要求的额外参数。我想这将是一种边缘情况,因为这些参数在返回接口(interface)的任何查询中都不可使用。但是返回特定类型而非接口(interface)的查询在技术上可以利用额外的参数。

关于javascript - GraphQL 接口(interface)定义是否将其实现类型绑定(bind)到使用相同的输入参数 "signature"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45806535/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com