graphiql - ¿Cómo enviar una consulta graphql por cartero?
insomnia graphql file (14)
ACTUALIZACIÓN 2:
No es práctico usar POSTMAN, porque todavía funcionan de manera fácil para agregar encabezados, eso lleva mucho tiempo, y creo que POSTMAN no está hecho para trabajar naturalmente con graphql,
Puede seguir el progreso al respecto aquí: https://github.com/postmanlabs/postman-app-support/issues/1669
Recomiendo usar otro complemento de paquetes como:
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
para graphiql (sin posibilidad de agregar encabezados) necesita establecer tres cosas (no es fácil de escribir):
-
Encabezamiento:
Tipo de contenido: application / json
-
Cuerpo:
Elija Ray <grupo de opciones
Elija JSON (aplicación / json) <selectbox
-
Componga el objeto javascript con "consulta" y el "valor" de su consulta gráfica. Al igual que todos los objetos en js, se necesita la propiedad y el valor, en este caso "cita" es la propiedad, el valor debe ser entre comillas dobles. Dentro del valor (cadena de gráfico) no compones objetos js, por lo que no necesitas usar comillas dobles, es solo una cadena.
{"query": "{allQuotes {text}}"}
el problema es que necesita escribir todo en una sola línea, no como grapIql ... hay un requisito de publicación en postman github, por lo que es fácil trabajar con graphql:
yo suelo
POST type
URL http://######/graphql
Body:
query: "query: "{''noteTypes'': {''name'', ''label'', ''labelColor'', ''groupName'', ''groupLabel'', ''imageUrl''}}"
Pero devuelve "mensaje": "Debe proporcionar una cadena de consulta".
Agregando esto para cualquiera que busque sobre el tema ... puede utilizar y probar llamadas GraphQL mucho mejor y más fácilmente con Insomnia:
Ha sido fantástico para el desarrollo de GraphQL.
Al agregar el encabezado podemos ejecutar la consulta graphql en el cartero
Content-type: application/graphql
Checkout https://github.com/hasura/graphqurl - curl for GraphQL:
- CLI para realizar consultas GraphQL con autocompletar
- Ejecute GraphiQL localmente en cualquier punto final (con encabezados personalizados)
- Úselo como una biblioteca con nodejs o desde el navegador
- Admite suscripciones
Soy uno de los autores
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
Hay una manera simple de hacerlo. Use una secuencia de comandos previa a la solicitud para stringificar la carga útil ( source ).
Paso 1.
En el cuerpo de la solicitud, coloque un marcador de posición para la carga útil.
{
"query":{{query}}
}
Paso 2.
Cree la carga útil en la secuencia de comandos previa a la solicitud y almacénela en una variable de entorno.
postman.setEnvironmentVariable("query", JSON.stringify(
`
{
search(query: "test", type: ISSUE, first: 10) {
issueCount
edges {
node {
... on Issue {
title
id
state
closed
repository {
name
}
}
}
}
}
}
`
));
Eso es.
Hay una mejor manera de hacerlo usando el cliente REST Insomnia
Los documentos están aquí, cómo enviar consultas graphql: https://support.insomnia.rest/article/61-graphql
A continuación se detallan los pasos para el cartero.
Paso 1.
Ejecute GraphiQL en Chrome, abra Chrome Dev Console, haga clic en la pestaña Red y realice la consulta desde graphiql, cuando realice la consulta, la pestaña de red mostrará la solicitud de graphql ...
Paso 2.
De la solicitud de
graphql
copie la consulta de solicitud, seleccione
Copy as cURL (cmd)
Paso 3.
Abra Postman, en la parte superior izquierda, haga clic en el botón
Import
, después de hacer clic en
Import
, debe hacer clic en
Paste Raw Text
y pegar la solicitud de
cURL
copiada como se hizo en el paso 2 después de hacer clic en
Import
Paso 4.
El cartero está listo para enviar la solicitud Graphql, solo haga clic en el botón
Send
, verá la
Response
en el cuadro de respuesta en el cuerpo como se muestra a continuación
Paso 5
Para ver cómo se envía la consulta, haga clic en la pestaña
Body
junto a
Headers
, sabrá cómo proporcionar los campos del cartero en formato JSON.
por ejemplo:
edges {/n node {/n id/n jobId/n }/n
, si desea ver otro campo, entonces debe agregarlo con el sufijo
/n
como si necesita
name
entonces:
edges {/n node {/n id/n jobId/n name/n }/n
/n
aquí solo significa representar una nueva línea.
En cambio, puede simplificarlo proporcionando un JSON claro e ilustrativo como el siguiente
================================================== =========================
Nota
: El tipo de cuerpo debe ser sin
application/json
con
application/json
content-type.
Entonces, la consulta debe ser un JSON válido con comillas
".."
{
"query":"{viewer {user {edges {node {id jobId name }}}}}"
}
================================================== =========================
puede comenzar directamente desde el
step 5
si sabe cómo enviar la consulta en el cuerpo y otras cosas que también deben ser requeridas al hacer una solicitud del cartero
Con JSON simplificado
Postman acaba de lanzar el soporte incorporado de GraphQL en la versión 7.2.
Esta versión es compatible
- Enviar consultas GraphQL en el cuerpo de la solicitud como solicitudes POST
- Soporte para variables GraphQL
- Crear API en Postman con el tipo de esquema GraphQL
- Consulta de autocompletado integrada con esquemas GraphQL definidos por el usuario
Pruébelo y envíenos sus comentarios sobre el hilo de seguimiento en nuestro foro de la comunidad
Postman ha lanzado recientemente su compatibilidad inmediata para GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
A continuación se muestra la captura de pantalla de probar GraphQL localmente:
Nota : Ejecutar GraphQL localmente usando spring-boot https://www.baeldung.com/spring-graphql
SI podemos pasar el tipo de encabezado, luego agregue el encabezado Content-type: application / graphql
El siguiente enlace se puede utilizar como referencia: descripción del enlace aquí
Si está utilizando Visual Studio, he escrito un complemento para convertir GraphQL a cuerpo tranquilo
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
graphQl
el mismo problema cuando intenté usar la consulta
graphQl
usando
POSTMAN
, en POSTMAN enviar datos desde la pestaña sin
raw
con el tipo
json
.
Comando de consulta:
{"query":"{user(id:902){id,username,DOB}}"}
Comando de mutaciones:
{ "query": "mutation {createMutations(reviewer:36, comments:/"hello/",data_id: 1659, approved: true ){id}}" }
#commnent: String Type
#data_id:Int Type
#approved:Boolean Type