GraphQL

Z Wikipedii, wolnej encyklopedii
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.).