在GraphQL中为类型和输入使用相同的字段
在我的一个使用GraphQL的项目中,我使用相同的字段定义了在GraphQL中为类型和输入使用相同的字段,graphql,Graphql,在我的一个使用GraphQL的项目中,我使用相同的字段定义了类型和输入 前 这似乎是多余的,因为我必须定义相同的字段两次。是否可以定义一组字段,并使SomeType和SomeInput都包含这些字段?这将类似于面向对象编程中的继承,在面向对象编程中,您将有一些基础,理想情况下,每个基础都将从中继承 例如,它可能看起来像: SomeBase { name: String id: String } type SomeType extends SomeBase {} input S
类型
和输入
前
这似乎是多余的,因为我必须定义相同的字段两次。是否可以定义一组字段,并使SomeType
和SomeInput
都包含这些字段?这将类似于面向对象编程中的继承,在面向对象编程中,您将有一些基础,理想情况下,每个基础都将从中继承
例如,它可能看起来像:
SomeBase {
name: String
id: String
}
type SomeType extends SomeBase {}
input SomeInput extends SomeBase {}
这可能吗?如果是,你将如何实现
提前感谢。我不确定
graphql
是否支持继承,但是有接口。在您的示例中:
interface IUser {
name: String!
id: String!
}
type User implements IUser {
name: String
id: String
}
type UserInput implements IUser {
name: String
id: String
}
这当然不会减少样板文件,但至少可以确保您可以为这些类型维护一个通用合同。啊,谢谢您的建议,但目标是减少样板文件。不幸的是,接口并不是答案。
interface IUser {
name: String!
id: String!
}
type User implements IUser {
name: String
id: String
}
type UserInput implements IUser {
name: String
id: String
}