Посилальний резольвер є відповідає за повернення всіх полів сутності, які визначає цей підграф. У цьому прикладі гіпотетична функція fetchProductByID отримує дані поля конкретного продукту на основі його ідентифікатора.
Резолвер – це функція, яка відповідає за заповнення даних для одного поля у вашій схемі. Кожного разу, коли клієнт запитує певне поле, резолвер для цього поля отримує запитані дані з відповідного джерела даних.
У той час як схема використовувалася для визначення сигнатур функцій для запитів і мутацій, дозволених інтерфейсом, резолвери використовуються для визначення самих функцій для запиту даних із вихідної бази даних.
Резолвер типу є відповідальний за перевірку об’єкта виконання та прийняття рішення про те, який GraphqlObjectType слід використовувати для його представленняі, отже, які засоби збору даних і поля будуть викликані.
Функція __resolveReference дозволяє планувальнику запитів вашого маршрутизатора вирішувати певну сутність за будь-яким унікальним ідентифікатором, який ваші інші підграфи використовують для посилання на неї. Докладніше див. у розділі Визначення сутності. Якщо сутність можна вирішити, __resolveReference повертає сутність. В іншому випадку він повертає null.
Що таке резольвер? Резолвер – це електричний трансформатор, який використовується для виміряти кут повороту. Багато резольверів виглядають дещо як електродвигун, що складається з мідних обмоток на статорі та обробленого металевого ротора.