¿Cómo recuperar los parámetros de solicitud en los scripts pre/post-solicitud de Apidog?

Este artículo explica cómo obtener parámetros de solicitud de la API actual mediante scripts en las funciones "Pre-request Script" y "Post-request Script" de Apidog.

Daniel Costa

Daniel Costa

1 July 2025

¿Cómo recuperar los parámetros de solicitud en los scripts pre/post-solicitud de Apidog?

Al usar Apidog para pruebas de API, puede haber ocasiones en las que necesite extraer los parámetros de solicitud de la API de prueba actual para otros fines. Por ejemplo, considere una API de creación de pedidos para una plataforma de comercio electrónico con el siguiente cuerpo de solicitud:

{"id": 12345,"products": [
    {"id": 1, "quantity": 2},
    {"id": 3, "quantity": 1}
  ],"shippingAddress": "xx Provincia xx Ciudad xx Distrito","paymentMethod": "credit_card"
}

En este escenario, es posible que desee:

  1. Extraer y cifrar los parámetros de solicitud: Para proteger la privacidad, es posible que deba cifrar el valor del parámetro shippingAddress antes de enviarlo.
  2. Almacenar los parámetros de solicitud como variables: Es posible que desee establecer el parámetro id como una "variable temporal" para usarlo en pruebas de API posteriores (como verificar el estado del pedido).
  3. Validar los parámetros de solicitud: Antes de enviar la solicitud, es posible que deba verificar si el parámetro paymentMethod tiene un valor válido.

Para manejar esto, puede extraer los parámetros de solicitud de la API utilizando el método pm.request. Puede crear un script personalizado que imprima pm.request en la consola, lo que le permite ver diversa información de parámetros. Por ejemplo:

// Información de los parámetros de solicitud de la API actualconsole.log(pm.request);
pm.request

El request en este método se refiere al objeto de solicitud de la API. En los scripts "Pre-request", representa la "solicitud pendiente", mientras que en los scripts "Post-request", se refiere a la "solicitud enviada".

Puede decidir si desea recuperar los parámetros de solicitud actuales en el script pre-request o post-request según sus requisitos:

Tenga en cuenta que solo las modificaciones realizadas en los scripts "Pre-request" son efectivas; los cambios realizados en los scripts "Post-request" no tendrán efecto.

Este artículo presenta principalmente cómo obtener los parámetros de solicitud de la API actual a través de scripts en las funciones "Pre-request Script" y "Post-request Script" de Apidog.

Para obtener los parámetros de solicitud de otras API, puede almacenar los parámetros en variables de entorno y luego leerlos, o usar la función "Tests". Con "Dynamic Values", puede leer directamente los parámetros de solicitud o los datos de respuesta de los pasos anteriores (es decir, otras API).

Extract Scope
button

¿Guía paso a paso para extraer los parámetros de solicitud?

Recuperar la URL Pre-Request

La URL pre-request es la dirección del servicio configurada en "Environment Management".

Retrieve the Pre-Request URL

Para obtener la URL pre-request de la API actual, puede usar los métodos pm.request.getBaseUrl() o pm.request.baseUrl. Por ejemplo:

// Obtener la URL pre-request
let preUrl = pm.request.getBaseUrl();
console.log(preUrl);

// O
let baseUrl = pm.request.baseUrl;
console.log(baseUrl);
pm.request.getBaseUrl()

Si se configuran varias URL pre-request, el script obtendrá la URL correspondiente al servicio especificado. Puede revisar y administrar estas configuraciones a través de "Edit-> Service (Pre-request URL)".

Service settings

Recuperar los parámetros de ruta

Los parámetros de ruta son parte de la URL utilizada para especificar la ruta del recurso, a menudo identificando recursos o colecciones específicas. En Apidog, los parámetros de ruta se representan mediante llaves {}, incluidas directamente en la ruta de la URL. Por ejemplo:

https://Apidogmock.com/xxx/xxx/store/products/{id}

En este ejemplo, {id} es un parámetro de ruta que se puede reemplazar dinámicamente. Puede extraer los parámetros de ruta utilizando pm.request.url.path, que devuelve una matriz que contiene todos los nombres de ruta, lo que permite un acceso preciso a través de la indexación de la matriz:

// Obtener los parámetros de ruta de pm.request.url.path
let getPathUrl = pm.request.url.path;

// Imprimir datos en la consolaconsola.log(getPathUrl);
console.log(getPathUrl[4]);
Path params replaced

Recuperar los parámetros de consulta

Los parámetros de consulta son información adicional adjunta a la URL, generalmente después del signo de interrogación ? y con el formato de pares clave-valor, separados por &. Por ejemplo:

https://Apidogmock.com/xxx/xxx/store/products/{id}?cart_id=42&region_id=43

Para extraer los parámetros de consulta, use pm.request.url.query, que recupera todos los pares clave-valor. Luego, puede usar el método get() para obtener específicamente un parámetro. Aquí se explica cómo extraer el parámetro cart_id:

// Obtener los parámetros de consulta de pm.request.url.query
let getQueryUrl = pm.request.url.query;

// Imprimir datos en la consolaconsola.log(getQueryUrl);
console.log(getQueryUrl.get("cart_id"));
Retrieve query params

Obtener la URL completa

Para obtener la URL completa de la solicitud de la API, incluida la URL pre-request, los parámetros de ruta y los parámetros de consulta, use el método pm.request.url.toString():

// Imprimir la URL completa en la consolaconsola.log(pm.request.url.toString());

Este método devuelve una cadena que contiene toda la información de la URL, con reemplazos dinámicos para los parámetros de ruta y todos los parámetros de consulta.

Get the Complete URL

Recuperar los parámetros del cuerpo

// Cuando el tipo de cuerpo es form-data
let formData = pm.request.body.formdata;

// Imprimir datos en la consolaconsola.log(formData);
console.log(formData.get("email"));
console.log(formData.get("password"));
form-data
// Cuando el tipo de cuerpo es x-www-form-urlencoded
let urlencoded = pm.request.body.urlencoded;

// Imprimir datos en la consolaconsola.log(urlencoded);
console.log(urlencoded.get("email"));
console.log(urlencoded.get("password"));
For x-www-form-urlencoded format
// Para el formato raw, JSON o XML
let formData = pm.request.body.raw;
// Analizar al objeto JSON
let jsonData = JSON.parse(formData);
// Imprimir datos en la consola
console.log(jsonData);
console.log(jsonData.email);
console.log(jsonData.password);
For raw, JSON, or XML format

Recuperar los parámetros de encabezado

Para recuperar los parámetros de encabezado de la solicitud, use pm.request.headers, que devuelve un objeto de matriz que contiene toda la información del encabezado de la solicitud. Puede ubicar y extraer con precisión los valores de parámetros específicos utilizando la función get():

// Obtener los parámetros de encabezado de la solicitud
let headers = pm.request.headers;

// Imprimir datos en la consolaconsola.log(headers);
console.log(headers.get("Accept"));

Preguntas frecuentes sobre la recuperación de parámetros de solicitud

¿Por qué no se reemplazan las variables referenciadas?

Si los parámetros de solicitud de su API hacen referencia a valores de variables de entorno pero no se reemplazan con valores específicos en la consola, asegúrese de mover el "Variable Replacement & Inherit Parent" al principio de su script en la sección Pre-request o Post-request. Esto asegura que todas las variables referenciadas (incluidos los valores dinámicos) se reemplacen con el contenido real.

Apéndice

Métodos y descripciones

Método Descripción Propósito
pm.request Obtener información del parámetro de solicitud de la interfaz actual Acceder al objeto de solicitud
pm.request.getBaseUrl() Obtener la URL pre-request Recuperar la dirección del servicio
pm.request.baseUrl Obtener la URL pre-request (método alternativo) Recuperar la dirección del servicio
pm.request.url.path Obtener los parámetros de ruta Extraer los parámetros de ruta de la URL
pm.request.url.query Obtener los parámetros de consulta Extraer los parámetros de consulta de la URL
pm.request.url.toString() Obtener la URL completa Recuperar todos los parámetros en la URL completa
pm.request.body.formdata Obtener los parámetros del cuerpo form-data Extraer los datos del formulario
pm.request.body.urlencoded Obtener los parámetros del cuerpo x-www-form-urlencoded Extraer los datos del formulario codificados en URL
pm.request.body.raw Obtener los parámetros del cuerpo raw, JSON o XML Extraer el contenido del cuerpo de la solicitud raw
pm.request.headers Obtener los parámetros de encabezado Extraer la información del encabezado de la solicitud
JSON.parse() Analizar la cadena JSON Convertir la cadena JSON en un objeto de JavaScript

Conclusión

Este artículo ha descrito cómo extraer los parámetros de solicitud en Apidog, incluidas las URL pre-request, los parámetros de ruta, los parámetros de consulta, los parámetros del cuerpo y los parámetros de encabezado. Al usar el objeto pm.request y sus métodos relacionados, puede obtener y manipular fácilmente varios datos de solicitud.

button

Explore more

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

15 April 2025

Cómo usar n8n con servidores MCP

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

14 April 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

11 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs