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”.
Odpowiedzi:
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
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:
To było fantastyczne dla rozwoju GraphQL.
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.
{
"query":{{query}}
}
Krok 2.
Utwórz ładunek w skrypcie wstępnego żądania i zapisz go w zmiennej środowiskowej.
postman.setEnvironmentVariable("query", JSON.stringify(
`
{
search(query: "test", type: ISSUE, first: 10) {
issueCount
edges {
node {
... on Issue {
title
id
state
closed
repository {
name
}
}
}
}
}
}
`
));
Otóż to.
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:
the best (like postman , but profile and sync price 5$ monthly):
https://insomnia.rest/
others:
https://github.com/andev-software/graphql-ide
https://github.com/imolorhe
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:
Postman właśnie udostępnił wbudowaną obsługę GraphQL w wersji 7.2.
Ta wersja obsługuje
- Wysyłanie zapytań GraphQL w treści żądania jako żądania POST
- Wsparcie dla zmiennych GraphQL
- Tworzenie API w Postman z typem schematu GraphQL
- Automatyczne uzupełnianie zapytań zintegrowane ze zdefiniowanymi przez użytkownika schematami GraphQL
Spróbuj i przekaż nam swoją opinię na temat wątku śledzenia na naszym forum społeczności
Napotkałem ten sam problem, gdy próbuję użyć graphQl
zapytania za pomocą POSTMAN
, W POSTMAN wysyłam dane z raw
zakładki z json
typem.
Zapytanie:
{"query":"{user(id:902){id,username,DOB}}"}
Polecenie mutacji:
{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }
#commnent: String Type
#data_id:Int Type
#approved:Boolean Type
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
Na podstawie odpowiedzi Estevão Lucasa .
Możesz także użyć nagłówka Content-type: application/json
na listonoszu
I zdefiniuj ciało:
{
"query": "{ your_query }"
}
Można to łatwo skonstruować po stronie klienta, aby utworzyć ładunek żądania.
na przykład
Wynik:
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
Zamówienie https://github.com/hasura/graphqurl - curl dla GraphQL:
Jestem jednym z autorów.
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
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