J'utilise
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Mais il retourne "message": "Doit fournir une chaîne de requête."
Il existe un meilleur moyen de le faire en utilisant le client REST _ Insomnia
Les documents sont ici, comment envoyer des requêtes graphql: https://support.insomnia.rest/article/61-graphql
Voici les étapes pour postier
Étape 1.
Exécutez GraphiQL dans Chrome, ouvrez la console de développement Chrome, cliquez sur l'onglet Réseau et effectuez la requête à partir de graphiql. Lorsque vous effectuez la requête, l'onglet Réseau affiche la requête graphql ...
Étape 2.
Depuis la demande graphql
, copiez la requête, sélectionnez la Copy as cURL (cmd)
Étape 3.
Ouvrez Postman. Dans le coin supérieur gauche, cliquez sur le bouton Import
. Une fois que vous avez cliqué sur Import
, vous devez cliquer sur le Paste Raw Text
et coller la demande cURL
copiée comme il est fait dans étape 2, une fois terminé, cliquez sur la Import
Étape 4.
Le facteur est prêt à envoyer la demande Graphql, il suffit de cliquer sur le bouton Send
pour afficher le Response
dans la zone de réponse dans le corps, comme ci-dessous.
Étape 5.
Pour voir comment la requête est envoyée, cliquez sur l'onglet Body
à côté de Headers
, vous saurez comment fournir les champs de postman au format JSON.
par exemple: edges {\n node {\n id\n jobId\n }\n
, si vous souhaitez afficher un autre champ, vous devez l'ajouter avec le suffixe \n
.
comme si besoin name
alors: edges {\n node {\n id\n jobId\n name\n }\n
\n
signifie simplement représenter une nouvelle ligne. Au lieu de cela, vous pouvez le simplifier en fournissant un JSON clair et illustratif comme ci-dessous.
======================================= =================================
Remarque : Le type de corps doit être brut avec application/json
content-type. Donc, la requête doit être un JSON valide avec des guillemets ".."
{
"query":"{viewer {user {edges {node {id jobId name }}}}}"
}
======================================= =================================
vous pouvez directement démarrer à partir de step 5
si vous savez comment envoyer la requête dans le corps et d'autres éléments qui doivent également être requis lors de la demande de postman
Avec JSON simplifié
En ajoutant ceci à ceux qui cherchent sur le sujet ... vous pouvez utiliser et tester les appels GraphQL bien mieux et plus facilement avec Insomnia:
Cela a été fantastique pour le développement de GraphQL.
Il y a un moyen simple de le faire. Utilisez un script de pré-demande pour stringifier la charge ( source ).
Étape 1.
Dans le corps de la demande, indiquez un espace réservé pour la charge utile.
{
"query":{{query}}
}
Étape 2.
Créez la charge dans le script de pré-demande et stockez-la dans une variable d'environnement.
postman.setEnvironmentVariable("query", JSON.stringify(
`
{
search(query: "test", type: ISSUE, first: 10) {
issueCount
edges {
node {
... on Issue {
title
id
state
closed
repository {
name
}
}
}
}
}
}
`
));
C'est ça.
Ce n'est pas une utilisation pratique de POSTMAN, car ils fonctionnent encore de manière simple pour ajouter des en-têtes, ce qui prend du temps, et je pense que POSTMAN n'est pas conçu pour fonctionner naturellement avec graphql,
vous pouvez suivre les progrès à ce sujet ici: https://github.com/postmanlabs/postman-app-support/issues/1669
Je recommande d'utiliser un autre plugin de paquets comme:
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
pour graphiql (sans possibilité d'ajouter des en-têtes), vous devez définir trois choses (ce n'est pas facile à taper):
Entête:
Type de contenu: application/json
Corps:
Choisissez Ray <optiongroup
Choisissez JSON (application/json) <selectbox
Composez un objet javascript avec "query" et la "valeur" de votre requête graphique. Comme tous les objets de js, il est nécessaire d'avoir la propriété et la valeur. Dans ce cas, "quote" est la propriété, la valeur doit être avec des guillemets doubles. A l'intérieur de la valeur (chaîne de caractères), vous ne composez pas d'objets js, vous n'avez donc pas besoin d'utiliser des guillemets doubles, c'est simplement une chaîne.
{"requête": "{allQuotes {text}}"}
le problème est que vous avez besoin de taper le tout en une seule ligne, pas comme grapIql ... il y a une exigence de publication dans postman github, il est donc facile de travailler avec graphql:
J'ai rencontré le même problème lorsque j'essayais d'utiliser la requête graphQl
à l'aide de POSTMAN
. Dans POSTMAN, envoyez des données à partir de l'onglet raw
avec le type json
.
Commande de requête:
{"query":"{user(id:902){id,username,DOB}}"}
Commande de mutations:
{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }
#commnent: String Type
#data_id:Int Type
#approved:Boolean Type
Postman vient de publier support GraphQL intégré dans la version 7.2.
Cette version prend en charge
- Envoi de requêtes GraphQL dans le corps de la requête sous la forme de POST requêtes
- Prise en charge des variables GraphQL
- Création d'API dans Postman avec un type de schéma GraphQL
- Complétion automatique des requêtes intégrée aux schémas GraphQL définis par l'utilisateur
Essayez-le et donnez-nous votre avis sur le fil de suivi de notre forum de communauté
Dériver de réponse d'Estevão Lucas .
Vous pouvez également utiliser l'en-tête Content-type: application/json
sur le postman
Et définir le corps avec:
{
"query": "{ your_query }"
}
Ceci est facilement construit côté client pour former une charge utile de requête.
par exemple.
Sortie:
Si vous utilisez Visual Studio, j'ai écrit un plugin pour convertir GraphQL en corps reposant.
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
Postman a récemment lancé son support prêt à l'emploi pour GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
Voici la capture d’écran de l’essai de GraphQL en local:
Remarque : Exécution de GraphQL localement à l'aide de spring-Boot https://www.baeldung.com/spring-graphql
Commander https://github.com/hasura/graphqurl - curl pour GraphQL:
Je suis l'un des auteurs.
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
SI nous pouvons passer le type d’en-tête, puis ajouter l’en-tête Content-type: application/graphql
Le lien ci-dessous peut être utilisé comme référence: description du lien ici