Comment récupérer les paramètres de requête dans les scripts pré/post-requête d'Apidog ?

Cet article explique comment obtenir les paramètres de requête API via scripts dans Apidog (Pré-requête & Post-requête).

Louis Dupont

Louis Dupont

5 June 2025

Comment récupérer les paramètres de requête dans les scripts pré/post-requête d'Apidog ?

```html

Lorsque vous utilisez Apidog pour les tests d'API, il peut arriver que vous ayez besoin d'extraire les paramètres de requête de l'API de test actuelle à d'autres fins. Par exemple, considérez une API de création de commande pour une plateforme de commerce électronique avec le corps de requête suivant :

{"id": 12345,"products": [
    {"id": 1, "quantity": 2},
    {"id": 3, "quantity": 1}
  ],"shippingAddress": "xx Province xx City xx District","paymentMethod": "credit_card"
}

Dans ce scénario, vous souhaiterez peut-être :

  1. Extraire et chiffrer les paramètres de requête : pour protéger la confidentialité, vous devrez peut-être chiffrer la valeur du paramètre shippingAddress avant de l'envoyer.
  2. Stocker les paramètres de requête en tant que variables : vous souhaiterez peut-être définir le paramètre id comme une « variable temporaire » à utiliser dans les tests d'API ultérieurs (comme la vérification de l'état de la commande).
  3. Valider les paramètres de requête : avant d'envoyer la requête, vous devrez peut-être vérifier si le paramètre paymentMethod a une valeur valide.

Pour gérer cela, vous pouvez extraire les paramètres de requête de l'API à l'aide de la méthode pm.request. Vous pouvez créer un script personnalisé qui affiche pm.request dans la console, ce qui vous permet d'afficher diverses informations sur les paramètres. Par exemple :

// Informations sur les paramètres de requête de l'API actuelleconsole.log(pm.request);
pm.request

Le request dans cette méthode fait référence à l'objet de requête de l'API. Dans les scripts « Pre-request », il représente la « requête en attente », tandis que dans les scripts « Post-request », il fait référence à la « requête envoyée ».

Vous pouvez décider de récupérer les paramètres de la requête actuelle dans le script pre-request ou post-request en fonction de vos besoins :

Notez que seules les modifications apportées dans les scripts « Pre-request » sont effectives ; les modifications apportées dans les scripts « Post-request » ne prendront pas effet.

Cet article présente principalement comment obtenir les paramètres de requête de l'API actuelle via des scripts dans les fonctionnalités « Pre-request Script » et « Post-request Script » d'Apidog.

Pour obtenir les paramètres de requête d'autres API, vous pouvez stocker les paramètres dans des variables d'environnement, puis les lire, ou utiliser la fonctionnalité « Tests ». Avec « Dynamic Values », vous pouvez directement lire les paramètres de requête ou les données de réponse des étapes précédentes (c'est-à-dire d'autres API).

Extract Scope
button

Guide étape par étape pour extraire les paramètres de requête ?

Récupérer l'URL Pre-Request

L'URL pre-request est l'adresse du service configurée dans « Gestion de l'environnement ».

Retrieve the Pre-Request URL

Pour obtenir l'URL pre-request de l'API actuelle, vous pouvez utiliser les méthodes pm.request.getBaseUrl() ou pm.request.baseUrl. Par exemple :

// Obtenir l'URL pre-request
let preUrl = pm.request.getBaseUrl();
console.log(preUrl);

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

Si plusieurs URL pre-request sont configurées, le script obtiendra l'URL correspondant au service spécifié. Vous pouvez consulter et gérer ces configurations via « Modifier-> Service (URL Pre-request) ».

Service settings

Récupérer les paramètres de chemin

Les paramètres de chemin font partie de l'URL utilisée pour spécifier le chemin de la ressource, identifiant souvent des ressources ou des collections spécifiques. Dans Apidog, les paramètres de chemin sont représentés à l'aide d'accolades {}, directement inclus dans le chemin de l'URL. Par exemple :

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

Dans cet exemple, {id} est un paramètre de chemin qui peut être remplacé dynamiquement. Vous pouvez extraire les paramètres de chemin à l'aide de pm.request.url.path, qui renvoie un tableau contenant tous les noms de chemin, permettant un accès précis via l'indexation du tableau :

// Obtenir les paramètres de chemin à partir de pm.request.url.path
let getPathUrl = pm.request.url.path;

// Imprimer les données dans la consoleconsole.log(getPathUrl);
console.log(getPathUrl[4]);
Path params replaced

Récupérer les paramètres de requête

Les paramètres de requête sont des informations supplémentaires jointes à l'URL, généralement après le point d'interrogation ? et formatées sous forme de paires clé-valeur, séparées par &. Par exemple :

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

Pour extraire les paramètres de requête, utilisez pm.request.url.query, qui récupère toutes les paires clé-valeur. Vous pouvez ensuite utiliser la méthode get() pour récupérer spécifiquement un paramètre. Voici comment extraire le paramètre cart_id :

// Obtenir les paramètres de requête à partir de pm.request.url.query
let getQueryUrl = pm.request.url.query;

// Imprimer les données dans la consoleconsole.log(getQueryUrl);
console.log(getQueryUrl.get("cart_id"));
Retrieve query params

Obtenir l'URL complète

Pour obtenir l'URL complète de la requête API, y compris l'URL pre-request, les paramètres de chemin et les paramètres de requête, utilisez la méthode pm.request.url.toString() :

// Imprimer l'URL complète dans la consoleconsole.log(pm.request.url.toString());

Cette méthode renvoie une chaîne contenant toutes les informations d'URL, avec des remplacements dynamiques pour les paramètres de chemin et tous les paramètres de requête.

Get the Complete URL

Récupérer les paramètres du corps

// Lorsque le type de corps est form-data
let formData = pm.request.body.formdata;

// Imprimer les données dans la consoleconsole.log(formData);
console.log(formData.get("email"));
console.log(formData.get("password"));
form-data
// Lorsque le type de corps est x-www-form-urlencoded
let urlencoded = pm.request.body.urlencoded;

// Imprimer les données dans la consoleconsole.log(urlencoded);
console.log(urlencoded.get("email"));
console.log(urlencoded.get("password"));
For x-www-form-urlencoded format
// Pour le format raw, JSON ou XML
let formData = pm.request.body.raw;
// Analyser en objet JSON
let jsonData = JSON.parse(formData);
// Imprimer les données dans la console
console.log(jsonData);
console.log(jsonData.email);
console.log(jsonData.password);
For raw, JSON, or XML format

Récupérer les paramètres d'en-tête

Pour récupérer les paramètres d'en-tête de la requête, utilisez pm.request.headers, qui renvoie un objet de tableau contenant toutes les informations d'en-tête de la requête. Vous pouvez localiser et extraire avec précision des valeurs de paramètres spécifiques à l'aide de la fonction get() :

// Obtenir les paramètres d'en-tête de la requête
let headers = pm.request.headers;

// Imprimer les données dans la consoleconsole.log(headers);
console.log(headers.get("Accept"));

FAQ sur la récupération des paramètres de requête

Pourquoi les variables référencées ne sont-elles pas remplacées ?

Si les paramètres de votre requête API référencent des valeurs de variables d'environnement, mais ne sont pas remplacés par des valeurs spécifiques dans la console, assurez-vous de déplacer le « Remplacement de variable et héritage parent » au tout début de votre script dans la section Pre-request ou Post-request. Cela garantit que toutes les variables référencées (y compris les valeurs dynamiques) sont remplacées par le contenu réel.

Annexe

Méthodes et descriptions

Méthode Description Objectif
pm.request Obtenir les informations sur les paramètres de requête de l'interface actuelle Accéder à l'objet de requête
pm.request.getBaseUrl() Obtenir l'URL pre-request Récupérer l'adresse du service
pm.request.baseUrl Obtenir l'URL pre-request (méthode alternative) Récupérer l'adresse du service
pm.request.url.path Obtenir les paramètres de chemin Extraire les paramètres de chemin d'URL
pm.request.url.query Obtenir les paramètres de requête Extraire les paramètres de requête d'URL
pm.request.url.toString() Obtenir l'URL complète Récupérer tous les paramètres dans l'URL complète
pm.request.body.formdata Obtenir les paramètres du corps form-data Extraire les données de formulaire
pm.request.body.urlencoded Obtenir les paramètres du corps x-www-form-urlencoded Extraire les données de formulaire codées en URL
pm.request.body.raw Obtenir les paramètres du corps raw, JSON ou XML Extraire le contenu brut du corps de la requête
pm.request.headers Obtenir les paramètres d'en-tête Extraire les informations d'en-tête de la requête
JSON.parse() Analyser la chaîne JSON Convertir la chaîne JSON en objet JavaScript

Conclusion

Cet article a décrit comment extraire les paramètres de requête dans Apidog, y compris les URL pre-request, les paramètres de chemin, les paramètres de requête, les paramètres du corps et les paramètres d'en-tête. En utilisant l'objet pm.request et ses méthodes associées, vous pouvez facilement obtenir et manipuler diverses données de requête.

button

```

Explore more

Comment utiliser Deepseek R1 en local avec Cursor

Comment utiliser Deepseek R1 en local avec Cursor

Apprenez à configurer DeepSeek R1 local avec Cursor IDE pour une aide au codage IA privée et économique.

4 June 2025

Comment exécuter Gemma 3n sur Android ?

Comment exécuter Gemma 3n sur Android ?

Apprenez à installer et exécuter Gemma 3n sur Android via Google AI Edge Gallery.

3 June 2025

Comment utiliser Claude Code avec GitHub Actions

Comment utiliser Claude Code avec GitHub Actions

Découvrez Claude Code avec GitHub Actions : revues de code, corrections de bugs, implémentation de fonctionnalités. Tutoriel pour développeurs.

29 May 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API