Проверяет понимание архитектуры GraphQL и отличия от REST по количеству и организации точек входа API.
GraphQL — это язык запросов к API, где вся коммуникация идёт через одну точку входа. В типичном приложении это один URL, например /graphql, который принимает POST-запросы с телом, содержащим query, mutation или subscription. Такой подход принципиально отличается от REST, где каждый ресурс имеет свой endpoint: /users, /users/1, /posts и так далее.
GraphQL опирается на строго типизированную схему (schema), которая описывает все доступные типы, поля и операции. Клиент сам формирует форму ответа, а сервер выполняет запрос по этой схеме. Поэтому серверу не нужно знать заранее, какой ресурс запрашивается — он разбирает запрос и резолвит поля через резолверы.
POST /graphql
Content-Type: application/json
{
"query": "{ user(id: 1) { name email posts { title } } }"
}
На практике иногда добавляют отдельные endpoint для загрузки файлов, health-check или GraphQL Playground, но основная бизнес-логика идёт через один /graphql. Также встречаются варианты с несколькими endpoint для разных доменов (например, публичный и админский API), но это уже архитектурное решение, а не требование GraphQL.
Итог: в GraphQL стандартно используется один endpoint, что упрощает клиентскую работу и делает API гибким, но требует продуманной схемы и защиты от сложных запросов.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию