Javascript GraphQL接口定义是否将其实现类型绑定到使用相同的输入参数;签名;?
例如,GitHub API声明了一个名为Javascript GraphQL接口定义是否将其实现类型绑定到使用相同的输入参数;签名;?,javascript,facebook-graph-api,graphql,Javascript,Facebook Graph Api,Graphql,例如,GitHub API声明了一个名为Actor的类型: interface Actor { avatarUrl(size: Int): URI! login: String! resourcePath: URI! url: URI! } 可以安全地假设实现Actor的每个类型都为字段avatarUrl获取一个Int输入参数吗 Actor的子类型能否在avatarUrl字段上声明更多输入参数 这是针对模式语言(客户端实现)的transpiler,因此我
Actor
的类型:
interface Actor {
avatarUrl(size: Int): URI!
login: String!
resourcePath: URI!
url: URI!
}
Actor
的每个类型都为字段avatarUrl
获取一个Int
输入参数吗Actor
的子类型能否在avatarUrl
字段上声明更多输入参数这是针对模式语言(客户端实现)的transpiler,因此我不想做任何可能在运行时失败的假设。就GraphQL.js而言:
Actor
接口的类型都需要在类型定义的avatarUrl
字段中包含size
参数
需要明确的是,如果参数不是非null,客户机仍然可以在查询中禁用它。但是,它总是需要包含在类型定义中,否则GraphQL会抱怨
Actor
的类型可以在字段上声明超出接口要求的额外参数。我认为这可能是一种边缘情况,因为这些参数在返回接口的任何查询上都不可用。但是返回特定类型(而不是接口)的查询在技术上可以使用附加参数
谢谢对于#2,我生成的kotlin类型层次结构将继承的抽象属性(在接口上)与输入参数类型的泛型参数绑定在一起。这是可行的,但我认为我必须在codegen中添加另一层继承