Fragmenty GraphQL budowane na żywo

Fragmenty GraphQL

Fragmenty GraphQL: nazwane, inline i warunki typu | We.Inc

Buduj fragmenty GraphQL w kreatorze zapytań na żywo: nazwane fragmenty do ponownego użycia, inline fragmenty dla unii i interfejsów, warunki typu, __typename i zmienne.

Fragment GraphQL to nazwany zestaw pól wielokrotnego użytku dla jednego typu, zapisywany jako fragment Name on Type i dołączany do zapytania przez ...Name. Inline fragment, zapisywany jako ... on Type, nie ma nazwy i wybiera pola tylko wtedy, gdy wynik jest tym konkretnym typem, i właśnie tak odpytuje się unie i interfejsy.

Postacie fragmentów

Zaznacz w kreatorze potrzebne pola, a on napisze za Ciebie zapytanie, raz z nazwanym fragmentem, a raz z polami wpisanymi bezpośrednio, abyś zobaczył, że proszą o te same dane. Włącz opcję wyników wyszukiwania, aby dodać inline fragmenty na unii.

Najczęściej zadawane pytania

Czy fragmenty zmniejszają odpowiedzi?

Nie. Fragment to pomoc przy pisaniu zapytania. Serwer go rozwija, a odpowiedź wygląda dokładnie tak, jakbyś wpisał pola ręcznie. Jeśli dwa spready wybierają to samo pole, pojawia się ono raz.

Kiedy muszę użyć inline fragmentu?

Gdy pole zwraca unię lub interfejs, a potrzebujesz pól, które mają tylko niektóre typy członkowskie. graphql.org pokazuje to na przykładzie bohatera, który może być typem Droid z primaryFunction albo Human z height.

Czy fragmentu można użyć na innym typie?

Tylko tam, gdzie może mieć zastosowanie. Fragment na interfejsie można rozwinąć wewnątrz dowolnego typu obiektowego, który go implementuje, ale fragment na User rozwinięty w selekcji Post nie przechodzi walidacji.

Gdzie w dokumencie umieszcza się fragmenty?

Na najwyższym poziomie dokumentu, obok operacji, w dowolnej kolejności. Każdy zdefiniowany fragment musi zostać użyty, inaczej serwer odrzuci dokument jako niepoprawny.

Nazwane fragmenty do ponownego użycia

Inline fragmenty i warunki typu

Schemat używany przez kreator

Unia dla wyników wyszukiwania

SearchResult może być typem User lub Photo, więc selekcja na nim potrzebuje inline fragmentów, aby dotrzeć do pól któregokolwiek z elementów.

Odczyt odpowiedzi z unii

Co zwraca wyszukiwanie

Każdy element zawiera tylko pola własnej gałęzi oraz __typename.

Rozgałęzianie po __typename

Nazwa typu to bezpieczny sposób na rozróżnienie elementów. Sprawdzanie obecności pola może się zepsuć, gdy typ później je zyska.

Kreator zapytań z fragmentami

Pola User do wybrania

Użyj nazwanego fragmentu (UserCard)

Dodaj wyniki wyszukiwania (unia z inline fragmentami)

Zapytanie

Kopiuj zapytanie

Wybrane pola: {n}, linie zapytania: {v}

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony