PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое GraphQL?

DOM и браузер

GraphQL — это язык запросов к API и среда выполнения, где клиент указывает, какие именно данные ему нужны, и получает их одним запросом по строгой схеме.

Идеи

  • Точная выборка — клиент запрашивает ровно нужные поля (нет over/under-fetching).
  • Один эндпоинт — обычно POST на /graphql.
  • Строгая схема — типизированный контракт, самодокументируемый.
  • Связанные данные — несколько сущностей одним запросом.
query {
  user(id: 1) {
    name
    posts { title }
  }
}

Операции

  • query — чтение данных.
  • mutation — изменение.
  • subscription — подписка на изменения (реальное время).

Плюсы и минусы

  • Плюсы: нет over/under-fetching, типизация, гибкость, без версионирования API.
  • Минусы: сложность сервера (резолверы, N+1), тяжёлое кеширование, риск дорогих запросов.

GraphQL против REST

REST — фиксированные эндпоинты, простое кеширование; GraphQL — гибкая выборка ценой серверной сложности.

Коротко для собеседования

GraphQL — язык запросов к API: клиент берёт точные поля одним запросом по строгой схеме (query/mutation/subscription). Плюсы — нет over/under-fetching, типизация; минусы — сложность сервера и кеширования. Для простого CRUD с кешем по URL проще REST.

Другие вопросы раздела