Вопрос проверяет понимание различий между REST и GraphQL как подходами к проектированию API, а также умение выбирать подходящий инструмент для конкретной задачи.
REST (Representational State Transfer) — это архитектурный стиль, в котором API строится вокруг ресурсов, каждый из которых имеет свой URL (эндпоинт). Например, /users возвращает список пользователей, а /users/1 — конкретного пользователя. Структура ответа фиксирована сервером, и клиент не может её изменить. Это может приводить к over-fetching (получение лишних данных) или under-fetching (необходимость делать несколько запросов для получения всех нужных данных).
GraphQL — это язык запросов и среда выполнения, разработанная Facebook. Вместо множества эндпоинтов используется единая точка входа, а клиент отправляет запрос, в котором точно указывает, какие поля и связи ему нужны. Сервер возвращает ровно то, что запрошено, без лишних данных. Это решает проблемы over-fetching и under-fetching, но требует более сложной схемы на сервере и может быть избыточным для простых API.
REST-запрос для получения пользователя с его постами может потребовать два запроса:
GET /users/1
GET /users/1/postsGraphQL-запрос делает то же самое за один раз:
query {
user(id: 1) {
name
email
posts {
title
content
}
}
}Вывод: REST — это проверенный временем стандарт для простых API, а GraphQL — мощный инструмент для гибких и сложных систем, где важна точность данных и минимизация количества запросов.
Уровень
Рейтинг:
5
Сложность:
5
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию