używam
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Ale zwraca „komunikat”: „Musi podać ciąg zapytania”.
Jest lepszy sposób na zrobienie tego za pomocą klienta REST Insomnia
Dokumenty są tutaj, jak wysyłać zapytania Graphql: https://support.insomnia.rest/article/61-graphql
Poniżej znajdują się kroki dla listonosza
Krok 1.
Uruchom GraphiQL w Chrome, otwórz konsolę deweloperską Chrome, kliknij kartę Sieć i wykonaj zapytanie z graphiql, kiedy wykonasz zapytanie, karta sieci pokaże żądanie graphql ...
Krok 2.
Z graphql
żądania skopiuj zapytanie żądania, wybierz plikCopy as cURL (cmd)
Krok 3.
Otwórz Listonosza, w lewym górnym rogu kliknij Import
przycisk, po kliknięciu Import
musisz kliknąć Paste Raw Text
i wkleić skopiowane cURL
żądanie, tak jak w kroku 2, po zakończeniu kliknijImport
Krok 4.
Listonosz jest gotowy do wysłania żądania Graphql, po prostu kliknij Send
przycisk, zobaczysz Response
w polu odpowiedzi w treści, jak poniżej
Krok 5.
Aby zobaczyć jak zapytanie jest wysyłane kliknij w Body
zakładkę obok Headers
, dowiesz się jak podać pola od listonosza w formacie JSON.
np .: edges {\n node {\n id\n jobId\n }\n
, Jeśli chcesz zobaczyć inne pole, musisz dodać je z sufiksem\n
jak w razie potrzeby name
:edges {\n node {\n id\n jobId\n name\n }\n
\n
tutaj oznacza po prostu reprezentowanie nowej linii. Zamiast tego możesz to uprościć, dostarczając jasny i ilustracyjny kod JSON, jak poniżej
==================================================== =========================
Uwaga : typ treści musi być surowy zapplication/json
typem zawartości. Zatem zapytanie musi być poprawnym plikiem JSON z cudzysłowami".."
{
"query":"{viewer {user {edges {node {id jobId name }}}}}"
}
==================================================== =========================
możesz zacząć od razu, step 5
jeśli wiesz, jak wysłać zapytanie w treści i inne rzeczy, które muszą być wymagane podczas składania wniosku od listonosza
Z uproszczonym JSON
Nie potrzebujesz INSOMNIA w przypadku, gdy serwer GraphQL odpowiada na
Content-type: application/graphql
lubpostman.setEnvironmentVariable
,Po prostu to zrób:
Na karcie Nagłówki:
Content-Type: application/graphql
Na karcie Treść, zaznaczone „nieprzetworzone”, wpisz zapytanie
źródło
Dodając to dla każdego, kto szuka w tym temacie ... możesz wykorzystać i przetestować wywołania GraphQL znacznie lepiej i łatwiej z Insomnia:
https://insomnia.rest
To było fantastyczne dla rozwoju GraphQL.
źródło
Jest na to prosty sposób. Użyj skryptu przed żądaniem, aby określić ładunek ( źródło ).
Krok 1.
W treści żądania umieść symbol zastępczy dla ładunku.
Krok 2.
Utwórz ładunek w skrypcie wstępnego żądania i zapisz go w zmiennej środowiskowej.
Otóż to.
źródło
AKTUALIZACJA 2:
To nie jest praktyczne użycie POSTMAN, ponieważ działają jeszcze w łatwy sposób, aby dodać nagłówki, co zajmuje dużo czasu, i myślę, że POSTMAN nie jest stworzony do naturalnej pracy z graphql,
postęp w tym zakresie możesz śledzić tutaj: https://github.com/postmanlabs/postman-app-support/issues/1669
Polecam skorzystać z innej wtyczki do pakietów, takiej jak:
dla graphiql (brak możliwości dodawania nagłówków) musisz ustawić trzy rzeczy (nie jest to łatwe do wpisania):
Nagłówek:
Content-Type: application / json
Ciało:
Wybierz Ray <optiongroup
Wybierz JSON (application / json) <selectbox
Utwórz obiekt javascript z „zapytaniem” i „wartością” zapytania wykresu. Podobnie jak w przypadku wszystkich obiektów w js, wymaga on właściwości i wartości, w tym przypadku „quote” jest własnością, wartość musi być ujęta w podwójne cudzysłowy. Wewnątrz wartości (ciąg graphl) nie tworzysz obiektów js, więc nie musisz używać podwójnych cudzysłowów, to tylko ciąg.
{"query": "{allQuotes {tekst}}"}
problem polega na tym, że musisz wpisać wszystko w jednej linii, nie jak grapIql ... istnieje wymóg wpisu na github listonosza, więc praca z graphql jest łatwa:
źródło
AKTUALIZACJA 8-2019 - Wiem, że to jest stare, ale jeśli chodzi o POSTMANA, jeśli jeszcze tego nie rozgryzłeś, mają one opcję graphql (beta) do wysyłania treści. Nie ma potrzeby dodawania żadnych dodatkowych nagłówków.
źródło
Postman właśnie udostępnił wbudowaną obsługę GraphQL w wersji 7.2.
źródło
Napotkałem ten sam problem, gdy próbuję użyć
graphQl
zapytania za pomocąPOSTMAN
, W POSTMAN wysyłam dane zraw
zakładki zjson
typem.Zapytanie:
Polecenie mutacji:
źródło
Jeśli używasz Visual Studio, napisałem wtyczkę do konwersji GraphQL na Restful body
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
źródło
Na podstawie odpowiedzi Estevão Lucasa .
Możesz także użyć nagłówka
Content-type: application/json
na listonoszuI zdefiniuj ciało:
Można to łatwo skonstruować po stronie klienta, aby utworzyć ładunek żądania.
na przykład
Wynik:
źródło
Postman niedawno uruchomił gotową obsługę GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
Poniżej znajduje się zrzut ekranu z lokalnego testowania GraphQL:
Uwaga : Lokalne uruchamianie GraphQL przy użyciu spring-boot https://www.baeldung.com/spring-graphql
źródło
Zamówienie https://github.com/hasura/graphqurl - curl dla GraphQL:
Jestem jednym z autorów.
źródło
JEŚLI możemy przekazać typ nagłówka, następnie dodaj nagłówek Content-type: application / graphql
Poniższy link może służyć jako odniesienie: tutaj opis linku
źródło
Dodając nagłówek możemy uruchomić zapytanie graphql w listonoszu
Content-type: application/graphql
źródło