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:
- 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. - 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). - 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);
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:
- Para los parámetros antes de enviar la solicitud: Use scripts pre-request.
- Para los parámetros después de enviar la solicitud: Use scripts post-request.
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).

¿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".

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);

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)".

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]);

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®ion_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"));

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.

Recuperar los parámetros del cuerpo
- Para el formato form-data: Form-data organiza los datos en pares clave-valor, que a menudo se utilizan para la carga de archivos y el envío de formularios complejos. Para obtener los parámetros del cuerpo form-data, use
pm.request.body.formdata
, que devuelve un objeto de matriz:
// 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"));

- Para el formato x-www-form-urlencoded: Similar a form-data, x-www-form-urlencoded también usa pares clave-valor. Para obtener estos parámetros, use
pm.request.body.urlencoded
:
// 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"));

- Para el formato raw, JSON o XML: Use
pm.request.body.raw
para obtener el contenido del cuerpo raw, que devuelve una cadena. Por lo general, deberá analizarlo para acceder a parámetros específicos:
// 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);

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.