¿Cuándo usar GraphQLID en lugar de GraphQLInt?
No está claro cuándo usarGraphQLID
en lugar deGraphQLInt
.
Considere el siguiente esquema:
type User {
id: Int!
firstName: String!
lastName: String!
}
type Query {
user (id: ID!): User
}
En caso deQuery.user
, parece no hacer ninguna diferencia si usarGraphQLID
oGraphQLInt
.
En caso deUser.id
, utilizandoGraphQLID
lanzará la entrada a la cadena. UtilizandoGraphQLInt
asegurará que la entrada sea un número entero.
Esto hace que la consulta y el sistema de tipos sean inconsistentes.
losgraphql-js Especificaciones simplemente dice:
A GraphQLScalarType
eso representa una identificación.
¿Es este un detalle de implementación (por ejemplo, si el cliente GraphQL debería emitirGraphQLID
a un número entero cuando puede), o se espera queID
siempre es una cadena engraphql?