GraphQL
Depura solicitudes GraphQL en Proxyman: haz coincidir reglas por nombre de query, da formato a las queries, muestra una columna Query Name y simula respuestas con scripts.
1. Usar herramientas de depuración con solicitudes GraphQL
Desde Proxyman 2.27.0, puedes usar herramientas de depuración con solicitudes GraphQL especificando el GraphQL Query Name.
La coincidencia por GraphQL QueryName funciona con Breakpoint, Map Local, Map Remote, Block List, Allow List y la herramienta Scripting.
Cómo usarlo
- Abre la herramienta de depuración (por ejemplo, Breakpoint)
- Crea una regla nueva
- Haz clic en el desplegable Use Wildcard -> Advanced -> marca GraphQL QueryName
- Introduce el GraphQL QueryName
La herramienta de depuración aplica primero la regla de coincidencia original y después la coincidencia por GraphQL QueryName.
A partir de la build 3.0.0, Proxyman rellena automáticamente el GraphQL Query Name cuando creas una regla de la herramienta de depuración.
2. Formateador de GraphQL
Desde Proxyman 2.33.0, Proxyman puede dar formato (embellecer) la query de GraphQL. Para activarlo, abre el menú Tools -> Custom Previewer Tab… y marca la casilla GraphQL.

Query de GraphQL formateada
3. Mostrar el GraphQL Query Name en la tabla principal
Proxyman puede extraer y mostrar el Query Name de cada solicitud GraphQL. Haz clic derecho en el encabezado de la columna y activa la columna Query Name.

Columna Query Name
4. Depurar solicitudes GraphQL (Legado - Proxyman 2.26.0 y anteriores)
GraphQL usa la misma URL para distintas queries, así que las herramientas de depuración basadas en URL (por ejemplo, Map Local, Breakpoint o Map Remote) no funcionan bien con él.
Sin embargo, con la herramienta Scripting puedes:
- Simular una respuesta local según el QueryName
- Cambiar la query, el body y los headers de las solicitudes y respuestas de GraphQL
Map Local con la herramienta Scripting
Puedes usar la herramienta Scripting para asignar un archivo local como respuesta:
- Abre Proxyman
- Activa SSL Proxying en el dominio de GraphQL
- Asegúrate de que puedes ver las solicitudes HTTPS de tu dominio
- Haz clic derecho en la solicitud -> Tools -> Scripting… para crear un script para su URL
- Para importar un archivo local: haz clic en el botón More -> Import JSON or Other File... -> selecciona tu archivo
- El siguiente script asigna un archivo local como respuesta de una solicitud GraphQL con QueryName="user"
// Import file from More Button -> Import JSON or Other files
const file = require("@users/B02D96D5.default_message_32E64A5B.json");
function onRequest(context, url, request) {
// 1. Extract the queryName from the request
var queryName = request.body.query.match(/\S+/gi)[1].split('(').shift();
// Or extract the operationName
var operationName = request.body.operationName
// 2. Save to sharedState
sharedState.queryName = queryName
sharedState.operationName = operationName
// Done
return request;
}
function onResponse(context, url, request, response) {
// 3. Check if it's the request we need to map
if (sharedState.queryName == "user") {
// 4. Import the local file by Action Button -> Import
// Get the local JSON file and set it as a body (like Map Local)
response.headers["Content-Type"] = "application/json";
response.body = file;
}
// Done
return response;
}
Modificar encabezados, query y cuerpo
- Usa el mismo código y cambia el queryName
- Usa el snippet code para cambiar los valores