Please enable JavaScript.
Coggle requires JavaScript to display documents.
API (GraphQL graphql (Минусы (Уязвимость к атакам на исчерпывание ресурсов…
API
GraphQL
-
-
-
Минусы
-
-
Обработка ошибок. Везде будет 200 ОК. Придется создавать собственную семантику ошибок и их обработку.
-
-
-
-
HTTP API
REST API
CRUD - Классический "Создать, Читать, Обновить, Удалить" интерфейс
Hypermedia - Это о том, что клиент не должен знать, какие методы и когда их вызывать в зависимости от состояния ресурса. Вместо этого, предлагается добавлять в ответ Meta-информацию, в которой указываются ссылка на возможные действия с этим ресурсом, тем самым убирая бизнес-логику с клиента. CRUD to Hypermedia Данный тип данных также называется Hypertext Application Language (HAL) т.е. resource + links
Проблемы
Over-fetching - из-за, как правило, ограниченного количества endpoint-ов на backend-е, порой, приходится получать гораздо больше данных на клиенте, нежели нам действительно необходимо.
При создании различных endpoint-ов для каждого случая или для каждого типа клиентов (мобильный, веб) мы получаем слишком много "проекций (projection)" данных ресурса.
Backend не знает, какие из предоставленных полей ресурса используются на клиенте, а какие нет. Нет контроля за deprecated.
Есть мысль, что ресурсные затраты на создание безопасной среды с GraphQL спецификацией несоразмерны плюсам от поддержки этой самой спецификации.