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".
Respuestas:
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 muestran 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 graphql ...
Paso 2.
De la graphql
solicitud, copie la consulta de solicitud, seleccione elCopy as cURL (cmd)
Paso 3.
Abra Postman, en la parte superior izquierda, haga clic en el Import
botón, después de hacer clic Import
, debe hacer clic en Paste Raw Text
y pegar la cURL
solicitud copiada como se hizo en el paso 2 después de que haya terminado, haga clic enImport
Etapa 4.
Postman está listo para enviar la solicitud Graphql, simplemente haga clic en el Send
botón, verá el Response
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 Body
pestaña 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, debe agregarlo con el sufijo\n
como si fuera necesario name
entonces:edges {\n node {\n id\n jobId\n name\n }\n
\n
aquí solo significa representar una nueva línea. En su lugar, puede simplificarlo proporcionando un JSON claro e ilustrativo como a continuación
================================================ =========================
Nota : El tipo de cuerpo debe ser sin formato conapplication/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 step 5
si sabe cómo enviar la consulta en el cuerpo y otras cosas también que deben ser requeridas al realizar una solicitud al cartero
Con JSON simplificado
Agregando esto para cualquiera que busque sobre el tema ... puede utilizar y probar las llamadas GraphQL mucho mejor y más fácilmente con Insomnia:
Ha sido fantástico para el desarrollo de GraphQL.
Hay una forma sencilla de hacerlo. Utilice un script de solicitud previa para clasificar la carga útil ( fuente ).
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 el script de solicitud previa y guárdelo 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.
No es práctico usar POSTMAN, porque todavía están trabajando de una manera fácil para agregar encabezados, eso lleva mucho tiempo, y creo que POSTMAN no está hecho para trabajar de forma natural 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 (no hay posibilidad de agregar encabezados) necesita configurar tres cosas (no es fácil de escribir):
Encabezamiento:
Tipo de contenido: aplicación / json
Cuerpo:
Elija Ray <grupo de opciones
Elija JSON (aplicación / json) <selectbox
Componga un objeto javascript con "consulta" y el "valor" de su consulta de gráfico. Como todos los objetos en js, se necesita la propiedad y el valor, en este caso "quote" es la propiedad, el valor debe estar entre comillas dobles. Dentro del valor (cadena gráfica) 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:
Postman acaba de lanzar soporte GraphQL incorporado en la versión 7.2.
Esta versión admite
- Envío de consultas GraphQL en el cuerpo de la solicitud como solicitudes POST
- Soporte para variables GraphQL
- Creación de API en Postman con el tipo de esquema GraphQL
- Autocompletado de consultas integrado 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
Me enfrenté al mismo problema cuando trato de usar la graphQl
consulta usando POSTMAN
, En POSTMAN envíe datos desde la raw
pestaña con el json
tipo.
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
Si está utilizando Visual Studio, he escrito un complemento para convertir GraphQL en Restful body
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
Derivado de la respuesta de Estevão Lucas .
También puede usar el encabezado Content-type: application/json
en cartero
Y define el cuerpo con:
{
"query": "{ your_query }"
}
Esto se construye fácilmente en el lado del cliente para formar una carga útil de solicitud.
p.ej
Salida:
Postman ha lanzado recientemente su soporte listo para usar para GraphQL: https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
A continuación se muestra la captura de pantalla de la prueba GraphQL localmente:
Nota : Ejecutar GraphQL localmente usando spring-boot https://www.baeldung.com/spring-graphql
Pedido https://github.com/hasura/graphqurl - rizo para GraphQL:
Yo soy uno de los autores.
gq https://gentle-anchorage-72051.herokuapp.com/v1alpha1/graphql -i
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í