GrafQL
GraphQL – типизированный язык запросов с открытым исходным кодом. Использует собственный язык SDL (Schema Definition Language). Основные особенности – нужен только один endpoint, ответ возвращает только те данные, которые затребованы в запросе.
Схема GraphQL API включает:
Типы. Кастомные объекты, определяющие, как будет выглядеть API. Например – для приложения, работающего с соцсетями, стоит объявить типы Users, Posts, Likes.
Поля. Включены в типы и возвращают определённые виды данных. Например – в тип Users стоит включить поля ID, name, age. Знак «!» в конце поля говорит, что поле не может быть пустым.
Резолверы (resolvers). Функции, которые отвечают за получение данных для каждого поля в схеме.
Пример кода:
Типы данных: Int, Float, String, Boolean, ID, кастомные типы.
Операции в GraphQL
Query (запрос). Аналог GET в REST, позволяет получать данные.
Mutation (изменение). Аналог POST, PUT и DELETE в REST, позволяет добавлять и изменять данные.
Subscription (подписка). Обеспечивает связь в реальном времени. При изменении данных сервер выполняет определённый в подписке запрос и отсылает обновлённые данные клиенту.
Last updated