ID
е скаларен тип, описан в спецификация на GraphQL
(работен проект октомври 2016 г.):
Вашето наблюдение
е в съответствие със спецификацията за принуждаване на резултат :
ипринуда на въвеждане :
Как трябва да обработвам тази стойност в клиента?
- При работа с
ID
резултати , третирайте ги като низове. - При използване на
ID
входове (в GraphQL променливи или входни параметри за мутации или заявки) можете да използвате цели числа или низове.
Трябва ли винаги да го преобразувам в цяло число веднага щом го получа от GraphQL?
Това силно зависи от вашето приложение. Тук няма общо правило, което да диктува ясно „да“ или „не“.
Трябва ли да променя кода си за секвениране, за да съхраня стойността на идентификатора като низ?
Не, това не е задължително.
Спецификацията на GraphQL за ID
типът не обхваща начина, по който съхранявате идентификаторите, само как се очаква GraphQL сървър да третира ID
вход и изход. Това поведение зависи от слоя GraphQL. Как се обработват идентификаторите в действителното хранилище зависи от слоя за съхранение.
Има ли правилен начин да продължите, когато използвате GraphQL ID като този?
Надявам се горните отговори също да отговорят на този въпрос :)