Выбор ответа Middle Проектирование API обновлено

Минус GraphQL по сравнению с REST

Вопрос

Какая проблема типична для GraphQL и почти отсутствует в REST?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: HTTP-кеш браузера и CDN работает плохо: запросы идут POST на один URL. В REST у каждого ресурса свой URL, и GET кешируется стандартно.

Варианты ответа

  1. HTTP-кеш браузера и CDN работает плохо: запросы идут POST на один URLправильный ответ
  2. Клиент получает лишние поля, которые не нужны экрану (over-fetching)
  3. Для одного экрана приходится делать несколько запросов к разным ресурсам
  4. Нет строгой схемы данных, поэтому типы клиента и сервера расходятся

Разбор

В REST у каждого ресурса свой URL, и GET кешируется стандартно. В GraphQL всё идёт на один эндпоинт, кеш приходится строить на клиенте (Apollo, urql) или через persisted queries. Over-fetching и множество запросов, наоборот, проблемы REST, которые GraphQL решает. Схема в GraphQL обязательна и строго типизирована.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.