Wie man Anfrageparameter in den Pre-/Post-Request-Skripten von Apidog abruft

Dieser Artikel erklärt, wie man API-Parameter in Apidog-Skripten (Vor-/Nach-Anfrage) abruft.

Leo Schulz

Leo Schulz

5 June 2025

Wie man Anfrageparameter in den Pre-/Post-Request-Skripten von Apidog abruft

```html

Bei der Verwendung von Apidog für API-Tests kann es vorkommen, dass Sie die Request-Parameter der aktuellen Test-API für andere Zwecke extrahieren müssen. Betrachten Sie beispielsweise eine API zur Auftragserstellung für eine E-Commerce-Plattform mit dem folgenden Request-Body:

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

In diesem Szenario möchten Sie möglicherweise:

  1. Request-Parameter extrahieren und verschlüsseln: Um die Privatsphäre zu schützen, müssen Sie möglicherweise den Wert des Parameters shippingAddress verschlüsseln, bevor Sie ihn senden.
  2. Request-Parameter als Variablen speichern: Möglicherweise möchten Sie den Parameter id als "temporäre Variable" für die Verwendung in nachfolgenden API-Tests (z. B. zum Überprüfen des Bestellstatus) festlegen.
  3. Request-Parameter validieren: Bevor Sie die Anfrage senden, müssen Sie möglicherweise überprüfen, ob der Parameter paymentMethod einen gültigen Wert hat.

Um dies zu handhaben, können Sie die Request-Parameter von der API mithilfe der Methode pm.request extrahieren. Sie können ein benutzerdefiniertes Skript erstellen, das pm.request in der Konsole ausgibt, sodass Sie verschiedene Parameterinformationen anzeigen können. Zum Beispiel:

// Current api's request parameters informationconsole.log(pm.request);
pm.request

Das request in dieser Methode bezieht sich auf das Request-Objekt der API. In "Pre-request"-Skripten stellt es den "ausstehenden Request" dar, während es sich in "Post-request"-Skripten auf den "gesendeten Request" bezieht.

Sie können entscheiden, ob Sie die aktuellen Request-Parameter im Pre-Request- oder Post-Request-Skript abrufen möchten, basierend auf Ihren Anforderungen:

Beachten Sie, dass nur Änderungen, die in den "Pre-request"-Skripten vorgenommen wurden, wirksam sind; Änderungen, die in den "Post-request"-Skripten vorgenommen wurden, haben keine Auswirkungen.

Dieser Artikel stellt hauptsächlich vor, wie Sie Request-Parameter der aktuellen API über Skripte in den "Pre-request Script"- und "Post-request Script"-Funktionen von Apidog abrufen können.

Um Request-Parameter von anderen APIs abzurufen, können Sie die Parameter in Umgebungsvariablen speichern und diese dann lesen oder die Funktion "Tests" verwenden. Mit "Dynamic Values" können Sie die Request-Parameter oder Antwortdaten direkt aus vorherigen Schritten (d. h. anderen APIs) lesen.

Extract Scope
button

Schritt-für-Schritt-Anleitung zum Extrahieren von Request-Parametern?

Abrufen der Pre-Request-URL

Die Pre-Request-URL ist die im "Environment Management" konfigurierte Serviceadresse.

Retrieve the Pre-Request URL

Um die Pre-Request-URL der aktuellen API abzurufen, können Sie die Methoden pm.request.getBaseUrl() oder pm.request.baseUrl verwenden. Zum Beispiel:

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

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

Wenn mehrere Pre-Request-URLs konfiguriert sind, ruft das Skript die URL ab, die dem angegebenen Dienst entspricht. Sie können diese Konfigurationen über "Edit-> Service (Pre-request URL)" überprüfen und verwalten.

Service settings

Pfadparameter abrufen

Pfadparameter sind Teil der URL, die verwendet wird, um den Ressourcenpfad anzugeben, und identifizieren häufig bestimmte Ressourcen oder Sammlungen. In Apidog werden Pfadparameter mithilfe von geschweiften Klammern {} dargestellt, die direkt im URL-Pfad enthalten sind. Zum Beispiel:

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

In diesem Beispiel ist {id} ein Pfadparameter, der dynamisch ersetzt werden kann. Sie können Pfadparameter mithilfe von pm.request.url.path extrahieren, das ein Array mit allen Pfadnamen zurückgibt, wodurch ein präziser Zugriff über die Array-Indizierung ermöglicht wird:

// Get path parameters from pm.request.url.path
let getPathUrl = pm.request.url.path;

// Print data to consoleconsole.log(getPathUrl);
console.log(getPathUrl[4]);
Path params replaced

Query-Parameter abrufen

Query-Parameter sind zusätzliche Informationen, die an die URL angehängt werden, typischerweise nach dem Fragezeichen ? und als Schlüssel-Wert-Paare formatiert sind, die durch & getrennt sind. Zum Beispiel:

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

Um Query-Parameter zu extrahieren, verwenden Sie pm.request.url.query, das alle Schlüssel-Wert-Paare abruft. Sie können dann die Methode get() verwenden, um einen Parameter spezifisch abzurufen. So extrahieren Sie den Parameter cart_id:

// Get query parameters from pm.request.url.query
let getQueryUrl = pm.request.url.query;

// Print data to consoleconsole.log(getQueryUrl);
console.log(getQueryUrl.get("cart_id"));
Retrieve query params

Die vollständige URL abrufen

Um die vollständige URL der API-Anfrage abzurufen, einschließlich der Pre-Request-URL, der Pfadparameter und der Query-Parameter, verwenden Sie die Methode pm.request.url.toString():

// Print complete URL to consoleconsole.log(pm.request.url.toString());

Diese Methode gibt eine Zeichenfolge zurück, die alle URL-Informationen enthält, mit dynamischen Ersetzungen für Pfadparameter und alle Query-Parameter.

Get the Complete URL

Body-Parameter abrufen

// When body type is form-data
let formData = pm.request.body.formdata;

// Print data to consoleconsole.log(formData);
console.log(formData.get("email"));
console.log(formData.get("password"));
form-data
// When body type is x-www-form-urlencoded
let urlencoded = pm.request.body.urlencoded;

// Print data to consoleconsole.log(urlencoded);
console.log(urlencoded.get("email"));
console.log(urlencoded.get("password"));
For x-www-form-urlencoded format
// For raw, JSON, or XML format
let formData = pm.request.body.raw;
// Parse to JSON object
let jsonData = JSON.parse(formData);
// Print data to console
console.log(jsonData);
console.log(jsonData.email);
console.log(jsonData.password);
For raw, JSON, or XML format

Header-Parameter abrufen

Um die Header-Parameter des Requests abzurufen, verwenden Sie pm.request.headers, das ein Array-Objekt zurückgibt, das alle Request-Header-Informationen enthält. Sie können bestimmte Parameterwerte mithilfe der Funktion get() präzise lokalisieren und extrahieren:

// Get request header parameters
let headers = pm.request.headers;

// Print data to consoleconsole.log(headers);
console.log(headers.get("Accept"));

FAQs zum Abrufen von Request-Parametern

Warum werden referenzierte Variablen nicht ersetzt?

Wenn Ihre API-Request-Parameter auf Umgebungsvariablenwerte verweisen, aber in der Konsole nicht durch bestimmte Werte ersetzt werden, stellen Sie sicher, dass Sie die "Variable Replacement & Inherit Parent" ganz am Anfang Ihres Skripts im Abschnitt "Pre-request" oder "Post-request" verschieben. Dadurch wird sichergestellt, dass alle referenzierten Variablen (einschließlich dynamischer Werte) durch den tatsächlichen Inhalt ersetzt werden.

Anhang

Methoden und Beschreibungen

Methode Beschreibung Zweck
pm.request Informationen zu den Request-Parametern der aktuellen Schnittstelle abrufen Auf Request-Objekt zugreifen
pm.request.getBaseUrl() Pre-Request-URL abrufen Serviceadresse abrufen
pm.request.baseUrl Pre-Request-URL abrufen (alternative Methode) Serviceadresse abrufen
pm.request.url.path Pfadparameter abrufen URL-Pfadparameter extrahieren
pm.request.url.query Query-Parameter abrufen URL-Query-Parameter extrahieren
pm.request.url.toString() Vollständige URL abrufen Alle Parameter in der vollständigen URL abrufen
pm.request.body.formdata Form-Data-Body-Parameter abrufen Form-Data extrahieren
pm.request.body.urlencoded x-www-form-urlencoded-Body-Parameter abrufen URL-codierte Form-Data extrahieren
pm.request.body.raw Raw-, JSON- oder XML-Body-Parameter abrufen Raw-Request-Body-Inhalt extrahieren
pm.request.headers Header-Parameter abrufen Request-Header-Informationen extrahieren
JSON.parse() JSON-Zeichenfolge parsen JSON-Zeichenfolge in ein JavaScript-Objekt konvertieren

Fazit

Dieser Artikel hat beschrieben, wie Sie Request-Parameter in Apidog extrahieren können, einschließlich Pre-Request-URLs, Pfadparametern, Query-Parametern, Body-Parametern und Header-Parametern. Durch die Verwendung des pm.request-Objekts und seiner zugehörigen Methoden können Sie verschiedene Request-Daten einfach abrufen und manipulieren.

button

```

Explore more

So verwenden Sie Deepseek R1 lokal mit Cursor

So verwenden Sie Deepseek R1 lokal mit Cursor

Erfahre, wie du DeepSeek R1 lokal mit Cursor IDE einrichtest & konfigurierst – privates, kostengünstiges KI-Coding.

4 June 2025

Wie man Gemma 3n auf Android ausführt?

Wie man Gemma 3n auf Android ausführt?

Erfahre, wie du Gemma 3n auf Android installierst und ausführst, mit Google AI Edge Gallery.

3 June 2025

So verwenden Sie den Google Search Console MCP-Server

So verwenden Sie den Google Search Console MCP-Server

Google Search Console & Apidog: SEO-Analyse & KI-API-Entwicklung. Installation, Konfiguration & Nutzung für Web-Performance & API-Einblicke.

30 May 2025

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen