Zer0must2b
Green Team
- 23.06.2019
- 306
- 141
Поиск нового API может быть похож на обнаружение шлюза для огромного количества данных, которые иначе были бы недоступны. Несколько моих любимых привели к фотографиям из Марсохода и 300-летним газетам .
Эти API часто реализуются с использованием REST , стандарта для обеспечения доступности веб-ресурсов более десяти лет. Фактически, когда вы получаете доступ к веб-странице, ваш браузер выполняет поиск GETдля этой страницы и каждого ресурса, который ему необходим (изображения, таблицы стилей и т. Д.).
Запрос страницы и изображения на странице через post и веб-браузер
Существует другой способ доступа к веб-ресурсам, который называется GraphQL . Впервые я услышал об этом несколько лет назад в какой-то статье о Facebook, но в то время я не обращал на это особого внимания. До недавнего времени я не осознавал, что Facebook на самом деле его разработал, и несколько лет назад его тоже открыли.
Что такое GraphQL?
Как бы нам ни хотелось думать, что есть один «лучший» способ сделать что-то, GraphQL - это альтернатива REST, а не замена. И хотя между ними существует довольно много различий , основное отличие состоит в том, что GraphQL позволяет вам создавать запросы, чтобы получить именно (и только) данные, которые вас интересуют.
API, который реализует интерфейс REST, позволяет вам (например) очень легко получить GET некоторые данные об объекте - и по умолчанию вы получаете весь шебанг. Если вы можете ограничить то, что вы получаете, или немного настроить возвращенный набор данных, это только потому, что разработчики написали код, явно поддерживающий эти ограничения и настройки. Как это выглядит, будет отличаться в каждом API ... если он вообще существует.
Возьмите Ghost API в качестве примера, который встроен в движок блога, который я использую для этого сайта. Вы можете запросить данные по отдельным сообщениям, авторам и т. Д., Что является стандартным тарифом. Кроме того, разработчики предоставили несколько параметров запроса, чтобы повлиять на возвращаемые данные:
Гибкость в GraphQL заключается в том, что он позволяет (действительно, заставляет) клиента создавать собственный запрос, чтобы получать только те данные, которые они хотят, именно такими , какими они хотят. Кроме того, он предоставляет определенные инструменты, позволяющие серверу предоставлять эти данные и только эти данные. Другими словами, GraphQL из коробки возвращает наименьшее количество необходимых данных, тогда как REST возвращает наибольшее.
Я написал этот пост, чтобы заставить себя немного покопаться в GraphQL. Возможно, это пока не очень полезно для кого-то еще, но я планирую написать небольшую серию постов, в которых подробно все рассмотрено здесь и представлены некоторые примеры. Кажется, есть довольно богатый набор инструментов для GraphQL, в том числе:

Уважаемые. Бог. Хорошо, я сделал.
Я оставлю вас с парой вступительных видео. Первый, Скотт Толински , - хороший краткий обзор, который занимает менее 15 минут.
Второй - часовой урок Евы Порчелло . Она создала отличное введение, используя API GitHub, но для этого требуется учетная запись Lynda.com. Я бы посоветовал проверить в вашей библиотеке, предоставляют ли они бесплатный доступ - мой сделал.
www.lynda.com
Источник: What is GraphQL and how does it differ from REST?
Эти API часто реализуются с использованием REST , стандарта для обеспечения доступности веб-ресурсов более десяти лет. Фактически, когда вы получаете доступ к веб-странице, ваш браузер выполняет поиск GETдля этой страницы и каждого ресурса, который ему необходим (изображения, таблицы стилей и т. Д.).
Запрос страницы и изображения на странице через post и веб-браузер
Существует другой способ доступа к веб-ресурсам, который называется GraphQL . Впервые я услышал об этом несколько лет назад в какой-то статье о Facebook, но в то время я не обращал на это особого внимания. До недавнего времени я не осознавал, что Facebook на самом деле его разработал, и несколько лет назад его тоже открыли.
Что такое GraphQL?
Как бы нам ни хотелось думать, что есть один «лучший» способ сделать что-то, GraphQL - это альтернатива REST, а не замена. И хотя между ними существует довольно много различий , основное отличие состоит в том, что GraphQL позволяет вам создавать запросы, чтобы получить именно (и только) данные, которые вас интересуют.
API, который реализует интерфейс REST, позволяет вам (например) очень легко получить GET некоторые данные об объекте - и по умолчанию вы получаете весь шебанг. Если вы можете ограничить то, что вы получаете, или немного настроить возвращенный набор данных, это только потому, что разработчики написали код, явно поддерживающий эти ограничения и настройки. Как это выглядит, будет отличаться в каждом API ... если он вообще существует.
Возьмите Ghost API в качестве примера, который встроен в движок блога, который я использую для этого сайта. Вы можете запросить данные по отдельным сообщениям, авторам и т. Д., Что является стандартным тарифом. Кроме того, разработчики предоставили несколько параметров запроса, чтобы повлиять на возвращаемые данные:
- include возвращает больше данных, например, полную информацию об авторе
- fields возвращает меньше данных, указав, какие поля должны быть возвращены
- форматы возвращают больше данных, возвращая данные в нескольких форматах
- фильтр возвращает меньше данных, фильтруя по определенным атрибутам
- limitи page возвращать меньше данных путем реализации подкачки
- order даже не фильтрует данные, но влияет на результаты подкачки, поэтому
Гибкость в GraphQL заключается в том, что он позволяет (действительно, заставляет) клиента создавать собственный запрос, чтобы получать только те данные, которые они хотят, именно такими , какими они хотят. Кроме того, он предоставляет определенные инструменты, позволяющие серверу предоставлять эти данные и только эти данные. Другими словами, GraphQL из коробки возвращает наименьшее количество необходимых данных, тогда как REST возвращает наибольшее.
Я написал этот пост, чтобы заставить себя немного покопаться в GraphQL. Возможно, это пока не очень полезно для кого-то еще, но я планирую написать небольшую серию постов, в которых подробно все рассмотрено здесь и представлены некоторые примеры. Кажется, есть довольно богатый набор инструментов для GraphQL, в том числе:
- Какая-то IDE в браузере, чтобы поиграть с GraphQL
- Серверные библиотеки на C # , Python и др. (Что такое серверная библиотека?)
- Клиенты GraphQL для C # и Python (что они подразумевают под клиентом ??)
- Различные другие инструменты (что они делают?!?)
Уважаемые. Бог. Хорошо, я сделал.
Я оставлю вас с парой вступительных видео. Первый, Скотт Толински , - хороший краткий обзор, который занимает менее 15 минут.
Второй - часовой урок Евы Порчелло . Она создала отличное введение, используя API GitHub, но для этого требуется учетная запись Lynda.com. Я бы посоветовал проверить в вашей библиотеке, предоставляют ли они бесплатный доступ - мой сделал.
Learning GraphQL Online Class | LinkedIn Learning, formerly Lynda.com
Learn how to get started with GraphQL, the popular query language designed to make data fetching and updating easier.
Источник: What is GraphQL and how does it differ from REST?