Добавить в корзинуПозвонить
Найти в Дзене

Кто такой этот ваш Граф Ку Эль

Кто такой этот ваш Граф Ку Эль GraphQL — язык запросов для API, позволяющий клиентам точно указать набор данных, которые ему нужны. А чем же не угодил REST? Основная проблема заключается в том, что RESTful API предоставляет единый интерфейс для всех клиентов сервера. Но это за собой влечет overfetching и underfetching. Например, у нас в процессе есть необходимость получения данных клиента. Но нам требуется получение только уникального идентификатора на основе договора. RESTful API в данном случае может быть устроен так, что вернется большой набор данных, включающий ФИО, информацию по всем договорам, счетам, ИНН, контактные данные и тд. Это называется overfetching. Соответственно, обработка лишних данных ведет к потере производительности, повышению нагрузки сети, а также замедлению загрузки страницы приложения. А underfetching обратная проблема, проблема недостаточности данных в ответе. Соответственно, для получения всех данных приходится слать несколько запросов для получения всех

Кто такой этот ваш Граф Ку Эль

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

А чем же не угодил REST?

Основная проблема заключается в том, что RESTful API предоставляет единый интерфейс для всех клиентов сервера. Но это за собой влечет overfetching и underfetching.

Например, у нас в процессе есть необходимость получения данных клиента. Но нам требуется получение только уникального идентификатора на основе договора. RESTful API в данном случае может быть устроен так, что вернется большой набор данных, включающий ФИО, информацию по всем договорам, счетам, ИНН, контактные данные и тд. Это называется overfetching. Соответственно, обработка лишних данных ведет к потере производительности, повышению нагрузки сети, а также замедлению загрузки страницы приложения.

А underfetching обратная проблема, проблема недостаточности данных в ответе. Соответственно, для получения всех данных приходится слать несколько запросов для получения всех ресурсов. Это влечет за собой примерно те же проблемы помимо усложнения логики.

А чаще всего происходит сразу обе проблемы, клиент делает несколько запросов, при этом в каждом запросе ему нужны далеко не все данные.

Так вот GraphQL предназначен для решения этих проблем. Если вкратце, то сервер предоставляет возможные для получения данные, а клиент сам описывает что ему нужно получить.

Таким образом, клиент одним запросом получает список всех нужных параметров, не отправляя запросы на несколько разных эндпоинтов, а также не получая лишние для него данные.

#graphql #rest #api

#быстростатья