type - ¿Puede un tipo de entrada GraphQL heredar de otro tipo o interfaz?
graphql schema validator online (1)
No, la especificación no permite que los tipos de entrada implementen interfaces. Y el sistema de tipo GraphQL en general no define ninguna forma de herencia. Incluso las interfaces no pueden heredar otras interfaces. La especificación está restringida intencionalmente para mantenerse simple. Esto significa que estás atascado repitiendo campos en los tipos de entrada.
Dicho esto, dependiendo de la forma en que construya su esquema, podría construir algún tipo de transformador de tipo que agregue los campos comunes programáticamente en función de algunos metadatos, por ejemplo, una directiva.
¿Es posible usar la herencia con tipos de entrada GraphQL?
Algo así (esto, por supuesto, no funciona con los tipos de entrada):
interface UserInputInterface {
firstName: String
lastName: String
}
input UserInput implements UserInputInterface {
password: String!
}
input UserChangesInput implements UserInputInterface {
id: ID!
password: String
}