GraphQL vs REST: сравнение по пунктам

И снова рубрика сравнение. Ранее мы писали главное о GraphQL и собрали материалы для изучения, а сегодня попробуем понять, может ли он заменить REST.
Все запросы идут через один эндпоинт
- Если нужно собрать агрегированные данные из различных сервисов, в REST придётся делать несколько запросов к каждому сервису.
- В GraphQL клиенты могут получать данные из нескольких сервисов одним запросом к одной конечной точке.
Получаем только то, что нам нужно
- REST API часто возвращают либо слишком много, либо слишком мало данных. Клиенты обычно получают все доступные поля ресурса, даже если им требуется только часть данных. Такая избыточность вносит свою лепту в увеличении времени ответа. И наоборот, недостаточная выборка возникает, когда клиенту приходится делать несколько запросов к различным эндпоинтам, чтобы получить необходимые данные, что генерирует дополнительную нагрузку и увеличивает время ответа.
- В GraphQL клиент может запросить именно те данные, которые ему нужны, указывая в запросах необходимые поля. Это позволяет избежать избыточной или недостаточной выборки данных, сокращая объем ненужной информации, передаваемой между клиентом и сервером.