Я новичок в graphql и надеюсь, что кто-то может объяснить мне этот тип идентификатора, который всегда является строкой.
Как печально в документах:
Скалярный тип идентификатора представляет уникальный идентификатор, часто используемый для повторного извлечения объекта или в качестве ключа для кэша.
Если вы используете, например, некоторый клиент для кэширования, такой как Apollo, у каждого типа должен быть хотя бы один идентификатор. Это позволяет нам выполнять нормализацию запросов, что позволяет нам автоматически обновлять вещи во внутреннем хранилище редуксов Apollo на основе уникального идентификатора
Хорошо, поэтому я могу использовать int, но как тогда я получить мой идентификатор как целое число на стороне клиента?
Причина проста, скажем, у меня есть тип Book с идентификатором типа ID и отношением author_id типа Int. Также у меня есть тип автора с идентификатором типа ID. И после того, как я получу книгу и автора, у меня будет book.author_id int и строка author.id, но это одно и то же число!
Что мне делать? Использовать везде ID даже для многих, для многих отношений? Создать новый тип скалярного идентификатора, который можно использовать в качестве идентификатора для повторной выборки, но будет иметь тип Int?