GraphQL

редактировать
Язык запросов данных, разработанный Facebook

GraphQL
GraphQL Logo.svg
Разработчик (и) Facebook и сообщество
Первоначальный выпуск14 сентября 2015 г. (14 сентября 2015 г.)
Стабильный выпуск Июнь 2018 г.
Репозиторий github.com / graphql / graphql-spec
Написано наРеализации на Java, JavaScript, Ruby, Scala и др.
Операционная система Кросс-платформенный
Веб-сайтgraphql.org

GraphQL - это язык с открытым исходным кодом запросов и манипуляций для API, а также среда выполнения для выполнения запросов с существующими данными. GraphQL был разработан внутри Facebook в 2012 году до публичного выпуска в 2015 году. 7 ноября 2018 года проект GraphQL был перенесен из Facebook в недавно созданный GraphQL Foundation, размещенный некоммерческой организацией Linux Foundation. С 2012 года развитие GraphQL следовало графику принятия, точно установленному Ли Байроном, создателем GraphQL. Цель Байрона - сделать GraphQL вездесущим на всех веб-платформах.

Он обеспечивает подход к разработке веб-API и сравнивается с REST и другими архитектурами веб-сервисов и противопоставляется им. Он позволяет клиентам определять структуру требуемых данных, и та же структура данных возвращается с сервера, что предотвращает возврат слишком больших объемов данных, но это влияет на эффективность веб-кэширования результатов запроса может быть. Гибкость и богатство языка запросов также добавляют сложности, которые могут не иметь смысла для простых API. Он состоит из системы типов, языка запросов и семантики выполнения, статической проверки и самоанализа типа.

GraphQL поддерживает чтение, запись (изменение) и подписку на изменения данных (обновления в реальном времени - чаще всего реализуются с использованием WebHooks ). Серверы GraphQL доступны для нескольких языков, включая Haskell, JavaScript, Perl, Python, Ruby, Java, C ++, C#, Scala, Go, Rust, Elixir, Erlang, PHP, R и Clojure.

9 февраля 2018 г. язык определения схемы GraphQL (SDL) стал частью спецификации.

Содержание

  • 1 Пример
  • 2 См. Также
  • 3 Ссылки
  • 4 Внешние ссылки

Пример

POST запрос:

{orders {id productsList {product {name price} amount} totalAmount}}

Ответ:

{"data": {"orders": [{"id": 1, "productsList": [{"product": {"name": "orange", "price": 1.5}, "amount": 100}], "totalAmount": 150}]} }

См. Также

Ссылки

Внешние ссылки

.

Последняя правка сделана 2021-05-22 05:12:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте