GraphQL – Wikipedia, wolna encyklopedia

GraphQL
Logo GraphQL
Logo programu
Autor Facebook, Inc.
Pierwsze wydanie 11 czerwca 2018[1]
Język programowania oficjalne implementacje m.in. w językach JavaScript, Go, Java, Kotlin, C#, Python, Rust i C/C++[2]
System operacyjny wieloplatformowe
Strona internetowa

GraphQLotwarty[3] język zapytań i manipulacji danych stanowiący sposób komunikacji z serwerem za pośrednictwem API oraz środowisko wykonawcze dla wykonywania zapytań tego typu. Specyfikacja i oprogramowanie zostało opracowane przez firmę Facebook, Inc.[4]. Jest alternatywą dla API typu REST[5].

Język zapytań GraphQL umożliwia uzyskanie struktury odpowiedzi na żądanie na podstawie wyłącznie tych danych i parametrów, które zostały określone w strukturze zapytania, co pozwala zapobiec uzyskaniu zbędnych i nadmiarowych danych podczas takiego procesu[6]. Wynik wykonanego zapytania jest najczęściej zwracany w postaci dokumentu w formacie JSON[7].

Przykład

[edytuj | edytuj kod]

Poniższy przykład definiuje żądanie typu POST celem uzyskania podstawowych informacji o zamówieniu produktu o numerze porządkowym 10:

{     orders(id: 10) {         productsList {             product {                 name                 price             }             quantity         }         totalAmount     } } 

Zawartością odpowiedzi na wysłane żądanie będzie poniższa struktura JSON o przykładowych wartościach, stanowiąca odwzorowanie struktury powyższego żądania:

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

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. Release June 2018. github.com, 2018-06-11. [dostęp 2022-11-06]. (ang.).
  2. GraphQL Code Libraries, Tools and Services. graphql.org. [dostęp 2022-11-06]. (ang.).
  3. Oficjalne repozytorium specyfikacji GraphQL. github.com. [dostęp 2022-11-06]. (ang.).
  4. GraphQL: A data query language. engineering.fb.com, 2015-09-14. [dostęp 2022-11-06]. (ang.).
  5. Marcin Śliwa: GraphQL: czy faktycznie jest następcą REST API?. No Fluff Jobs, 2020-11-25.
  6. GraphQL – Overview. spec.graphql.org, 2022-06-03. [dostęp 2022-11-06]. (ang.).
  7. GraphQL – JSON Serialization. spec.graphql.org, 2022-06-24. [dostęp 2022-11-06]. (ang.).

Linki zewnętrzne

[edytuj | edytuj kod]