Kreator zapytań GraphQL
Pisanie operacji GraphQL ręcznie oznacza konieczność utrzymania w porządku nawiasów klamrowych, argumentów i wcięć. Ten kreator składa dokument za Ciebie: wybierz zapytanie, mutację lub subskrypcję, nazwij operację, ustaw pole główne, dodaj argumenty i wypisz potrzebne pola. Otrzymujesz sformatowaną operację, którą możesz wkleić bezpośrednio do Apollo, urql lub GraphiQL.
Jak stworzyć operację w GraphQL
-
1
Wybierz typ operacji
Wybierz zapytanie, mutację lub subskrypcję z rozwijanej listy. To określa, jaki rodzaj operacji wykona serwer.
-
2
Nazwij operację
Nadaj jej nazwę, np. GetUser, aby serwer mógł ją rejestrować w logach i buforować. Nazwa jest opcjonalna; kreator działa również bez niej.
-
3
Ustaw pole główne
Wpisz pole, które chcesz wywołać, na przykład user, createPost lub orderUpdated.
-
4
Dodaj argumenty
Dodaj pary klucz-wartość, takie jak id: "123" lub id: $id. Wiersze z pustym kluczem są pomijane.
-
5
Wypisz pola i skopiuj
Wpisz jedno pole na linię, zbuduj zapytanie i skopiuj sformatowany dokument do schowka.
Praca z dokumentami GraphQL
Dokument GraphQL to zbiór jednej lub kilku operacji oraz wszystkich fragmentów, do których te operacje się odnoszą. Każda operacja wskazuje pole główne typu Query, Mutation lub Subscription, a serwer rozwiązuje żądany przez Ciebie zestaw pól. Kreator pisze tekst operacji za Ciebie, ale nie zna Twojego schematu, więc przed uruchomieniem operacji porównaj każdą nazwę pola i argumentu ze swoim API.
Anatomia operacji
| Część | Cel | Przykład |
|---|---|---|
| Typ operacji | Zapytanie, mutacja lub subskrypcja | query, mutation, subscription |
| Nazwa operacji | Używana do buforowania i logów | GetUserById |
| Argumenty | Wartości przekazywane do pola głównego | user(id: "123") |
| Zestaw pól | Pola i zagnieżdżone selekcje | { user(id: "123") { name posts { title } } } |
| Zmienne | Typowane dane wejściowe deklarowane przy nazwie operacji | query GetUser($id: ID!) { user(id: $id) { name } } |
Najczęstsze błędy
- Wymagane zmienne kończą się na
!. Pominięcie go w argumentach oznaczonych w schemacie jakoNonNullpowoduje błąd walidacji jeszcze przed uruchomieniem resolvera. - Argumenty tekstowe wymagają cudzysłowów. Wartość taka jak
123jest liczbą; wartość tekstową należy zapisać w wierszu argumentu jako"123"w podwójnym cudzysłowie. - Typy unii i interfejsu wymagają wbudowanych fragmentów
... on TypeName, aby odczytać pola specyficzne dla danego typu. - Aliasy są obowiązkowe, gdy żądasz tego samego pola dwukrotnie z różnymi argumentami, na przykład
today: stats(period: DAY)iweek: stats(period: WEEK). - Połączenia (specyfikacja Relay) udostępniają
edges { node { ... } }ipageInfo { endCursor hasNextPage }; pominięcie któregokolwiek z nich psuje paginację.
Porady
- Utrzymuj operacje małe i nazwane, aby Apollo Client mógł buforować je pojedynczo.
- Zmieniające się wartości przekazuj jako zmienne zamiast literałów, dzięki czemu serwer przeanalizuje dokument raz i użyje go ponownie; deklaruj je przy nazwie operacji, na przykład
query GetUser($id: ID!). - Jeśli pole wymaga kilku argumentów, wpisz je w jednym wierszu argumentu oddzielone przecinkami, na przykład
filter: { status: ACTIVE }jako wartość. - Kreator generuje dokładnie taki tekst, jaki skonfigurujesz. Jeśli operacja się nie powiedzie, najpierw porównaj nazwy pól z bieżącym schematem.
Najczęściej zadawane pytania
Nie. Formatuje tylko tekst, który podajesz; nie ma żadnego punktu końcowego do wywołania ani wymaganego schematu. Wypełnij części operacji, a kreator złoży dokument za Ciebie.
Tak. Użyj rozwijanej listy operacji, aby przełączać się między zapytaniem, mutacją i subskrypcją. Reszta działa tak samo: nazwa, pole główne, argumenty i pola.
Dodaj wiersze w sekcji argumentów. Klucz to nazwa argumentu, a wartość to to, co przekazujesz, na przykład id: “123” lub id: $id. Wiersze z pustym kluczem są ignorowane. Jeśli wpisujesz zmienną, taką jak $id, zadeklaruj ją sam przy nazwie operacji, na przykład query GetUser($id: ID!).
Kreator generuje dokładnie taki tekst, jaki wpisałeś. Błąd zwykle oznacza, że nazwa pola lub argumentu nie pasuje do schematu Twojego serwera: porównaj pole główne i każdą nazwę pola ze swoim API i popraw literówki.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator EditorConfig
Wygeneruj plik .editorconfig z własnymi regułami stylu i rozmiaru wcięć, końca linii, kodowania i białych znaków, aby uzyskać spójne formatowanie w różnych IDE i edytorach.
Walidator adresów e-mail
Zweryfikuj adres e-mail: sprawdzenie składni RFC 5322, sprawdzenie rekordu MX w czasie rzeczywistym oraz szczegóły dotyczące części lokalnej, domeny i długości. Żadna wiadomość nie jest wysyłana.
Formatowanie HTML
Formatuj HTML lokalnie w przeglądarce, używając wcięć dwóch lub czterech spacji. HTML nie jest wysyłany ani walidowany.
Narzędzie jest dostępne w innych językach
- GraphQL-Abfrage-Builder [DE]
- Construtor de Consultas GraphQL [PT]
- أداة إنشاء استعلامات GraphQL [AR]
- GraphQL 쿼리 빌더 [KO]
- Trình tạo truy vấn GraphQL [VI]
- Pembuat Kueri GraphQL [ID]
- เครื่องสร้าง GraphQL Query [TH]
- Constructeur de requêtes GraphQL [FR]
- Constructor de Consultas GraphQL [ES]
- GraphQL-querybouwer [NL]
- GraphQLクエリビルダー [JA]
- GraphQL-frågebyggare [SV]
- GraphQL Query Builder [EN]
- Costruttore di Query GraphQL [IT]
- Построитель запросов GraphQL [RU]
- GraphQL Sorgu Oluşturucu [TR]
- GraphQL查询构建器 [ZH]