Неясно, когда использовать GraphQLID
вместо GraphQLInt
.
Рассмотрим следующую схему:
type User {
id: Int!
firstName: String!
lastName: String!
}
type Query {
user (id: ID!): User
}
В случае Query.user
, кажется, не имеет значения, следует ли использовать GraphQLID
или GraphQLInt
.
В случае User.id
использование GraphQLID
приведет к вводу ввода в строку. Использование GraphQLInt
гарантирует, что вход является целым числом.
Это делает систему запросов и типов непоследовательными.
graphql-js spec просто говорит:
A
GraphQLScalarType
, который представляет идентификатор.
Является ли это деталью реализации (например, если клиент GraphQL отличает GraphQLID
до целого числа, когда это возможно), или ожидается, что ID
всегда является строкой в graphql?