GraphQL заменяет множество URL-адресов ресурсов одной конечной точкой и типизированной схемой. Клиент отправляет запрос, описывающий структуру необходимых ему данных — этого пользователя, его последние три заказа, общую сумму каждого заказа — и получает обратно именно эту структуру. Запись данных осуществляется путем изменения данных, отправляемых таким же образом.
Сервер проверяет каждый запрос на соответствие своей схеме перед его выполнением, а затем обрабатывает каждое поле, возможно, из разных источников данных. Запросы обычно являются POST-запросами с телом в формате JSON. Ошибки сообщаются в массиве ошибок вместе с любыми данными, которые удалось обработать, как правило, со статусом 200 для всего HTTP-запроса.
GraphQL заменяет коды состояния HTTP. Поскольку частично неудачный запрос все еще возвращает 200, клиент, проверяющий только статус, полностью пропустит ошибки на уровне полей; массив ошибок необходимо проверять в каждом ответе. Такая же гибкость также означает, что один запрос может быть очень ресурсоемким, поэтому на производственных серверах ограничиваются глубина и сложность запросов.
POST https://funapi.dev/graphql выполняет запросы и мутации к персонажам Friends, используя GraphiQL-обозреватель по тому же URL; на странице документации Friends API также используется POST /graphql в панели «Попробовать».
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление