Я использую graphql + mysql + response-apollo и здесь один из типов graphql для таблицы User
:
type User {
id: ID!
name: String!
}
Моя проблема с ID scalar type
в graphql
заключается в том, что она возвращается в виде строки, когда первичные ключи являются int
в mysql, и она создала конфликты типа на интерфейсе с машинописным текстом.
Могу ли я просто просто не использовать скалярный тип ID вообще, учитывая, что я уже установил уникальный идентификатор с dataIdFromObject
для каждого объекта в Apollo Client:
import {InMemoryCache} from 'apollo-cache-inmemory';
const apolloMemoryCache = new InMemoryCache(
{
dataIdFromObject: ({id,__typename}) => {
return __typename+id
}
}
);
const client = new ApolloClient({
link: ApolloLink.from([authLink, httpLink]),
cache: apolloMemoryCache,
});
Будете ли вы хранить идентификационный номер или просто вырезать его?