Что такое GraphQL

«Что такое GraphQL» — вопрос из категории Сети, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

GraphQL — это язык запросов для API, позволяющий клиентам запрашивать только нужные данные, избегая избыточности. В отличие от REST, где эндпоинты фиксированы, GraphQL предоставляет гибкость: клиент сам определяет структуру ответа.

Пример запроса:

query {
  user(id: "1") {
    name
    email
    posts {
      title
    }
  }
}

Особенности:

  • Один эндпоинт/graphql вместо множества REST-путей.
  • Типизация — схема API строго типизирована (например, type User { name: String! }).
  • Решает проблему over/under-fetching — клиент получает ровно то, что запросил.

В Go используют библиотеки типа graphql-go/graphql или gqlgen для реализации сервера.