MockResponsePlugin
Simuliert Antworten.
Plug-In-instance Definition
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "mocksPlugin"
}
Konfigurationsbeispiel
{
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Konfigurationseigenschaften
Eigenschaft | BESCHREIBUNG | Standard |
---|---|---|
mocksFile |
Pfad zur Datei mit Pseudoantworten | mocks.json |
blockUnmockedRequests |
Zurückgeben der 502 Bad Gateway Antwort für Anforderungen, die nicht simuliert werden |
false |
Befehlszeilenoptionen
Name | BESCHREIBUNG | Standard |
---|---|---|
-n, --no-mocks |
Deaktivieren des Ladens von Pseudoanforderungen | false |
--mocks-file |
Pfad zur Datei mit Pseudoantworten | - |
Beispiele für Mocks-Dateien
Im Folgenden sind Beispiele für Mock-Objekte aufgeführt.
Antworten mit Text
Antwort auf eine Anforderung mit einer Antwort von 200 OK und einem JSON-Text.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me",
"method": "GET"
},
"response": {
"body": {
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"businessPhones": ["+1 412 555 0109"],
"displayName": "Megan Bowen",
"givenName": "Megan",
"jobTitle": "Auditor",
"mail": "MeganB@M365x214355.onmicrosoft.com",
"mobilePhone": null,
"officeLocation": "12/1110",
"preferredLanguage": "en-US",
"surname": "Bowen",
"userPrincipalName": "MeganB@M365x214355.onmicrosoft.com",
"id": "48d31887-5fad-4d73-a9f5-3c356e68a038"
},
"headers": [
{
"name": "content-type",
"value": "application/json; odata.metadata=minimal"
}
]
}
}
Antworten mit Fehler
Antworten Sie auf eine Anforderung mit einer 404 Not Found-Antwort.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me/photo",
"method": "GET"
},
"response": {
"statusCode": 404
}
}
Antworten mit Binärdaten
Antworten Sie auf eine Anforderung mit einem binären Image, das aus einer Datei auf dem Datenträger geladen wurde.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/users/*/photo/$value",
"method": "GET"
},
"response": {
"body": "@picture.jpg",
"headers": [
{
"name": "content-type",
"value": "image/jpeg"
}
]
}
}
Antworten auf nth
Anfrage
Antworten Sie auf eine Anforderung erst nach dem zweiten Aufruf.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/external/connections/*/operations/*",
"method": "GET",
"nth": 2
},
"response": {
"statusCode": 200,
"body": {
"id": "1.neu.0278337E599FC8DBF5607ED12CF463E4.6410CCF8F6DB8758539FB58EB56BF8DC",
"status": "completed",
"error": null
}
}
}
Antworten, die dem Anforderungstext entsprechen
Antworten Sie auf eine Anforderung, die eine bestimmte Zeichenfolge im Text enthält.
{
"request": {
"url": "https://login.microsoftonline.com/fa15d692-e9c7-4460-a743-29f29522229/oauth2/v2.0/token",
"method": "POST",
"bodyFragment": "scope=https%3A%2F%2Fapi.contoso.com%2FDocuments.Read"
},
"response": {
"headers": [
{
"name": "Content-Type",
"value": "application/json; charset=utf-8"
}
],
"body": {
"token_type": "Bearer",
"expires_in": 3599,
"ext_expires_in": 3599,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSU..."
}
}
}
Simuliert Dateieigenschaften
Eigenschaft | BESCHREIBUNG | Erforderlich |
---|---|---|
request |
Anforderungsobjekt , das die Anforderung definiert, auf die beantwortet werden soll | ja |
response |
Antwortobjekt , das die zurückzugebende Antwort definiert | ja |
Anforderungsobjekt
Jede Anforderung weist die folgenden Eigenschaften auf:
Eigenschaft | BESCHREIBUNG | Erforderlich | Standardwert | Beispielwert |
---|---|---|---|---|
url |
Absolute URL zu einem API-Endpunkt, auf den reagiert werden soll | ja | https://jsonplaceholder.typicode.com/posts |
|
method |
HTTP-Verb zum Abgleichen der Anforderung mit url |
nein | GET |
GET |
nth |
Bestimmt, dass der Proxy erst nach dem Abfangen der Anforderung zum n-ten Mal reagieren soll. | nein | 2 |
|
bodyFragment |
Eine Zeichenfolge, die im Anforderungstext vorhanden sein sollte | nein | foo |
Hinweise
Verwenden Sie ein Sternchen (*
) in der url
-Eigenschaft, wenn Sie eine beliebige Zeichenreihe in der URL übereinstimmen möchten. Beispielsweise entspricht https://jsonplaceholder.typicode.com/*
https://jsonplaceholder.typicode.com/posts
und https://jsonplaceholder.typicode.com/comments
. Zur Laufzeit konvertiert der Dev-Proxy jeden *
in einen regulären Ausdruck .*
.
Platzieren Sie beim Definieren von Mocks zuerst die spezifischsten Mocks. Wenn Sie z. B. über zwei Mocks verfügen, eines für https://jsonplaceholder.typicode.com/posts
und eines für https://jsonplaceholder.typicode.com/*
, platzieren Sie den ersten Mock zuerst. Andernfalls stimmt der Dev-Proxy zuerst mit dem zweiten Mock überein und gibt die Antwort für https://jsonplaceholder.typicode.com/*
für alle Anforderungen zurück.
Verwenden Sie die nth
-Eigenschaft, wenn Sie eine andere an dieselbe Anforderungs-URL senden müssen. Verwenden Sie sie beispielsweise, um einen Vorgang mit langer Ausführungsdauer zu simulieren. Wenn Sie die API zum ersten Mal aufrufen, wird eine Antwort mit einer inprogress
Nachricht zurückgegeben. Beim zweiten Aufruf der API wird eine Antwort mit der completed
Nachricht zurückgegeben. Weitere Informationen zur nth
Eigenschaft finden Sie unter Mock nth Request.
Mithilfe der bodyFragment
-Eigenschaft können Sie Anforderungen basierend auf dem Textinhalt abgleichen. Wenn Sie beispielsweise Anforderungen abgleichen möchten, die die foo
Zeichenfolge im Text enthalten, legen Sie die bodyFragment
-Eigenschaft auf fest foo
. Der Dev Proxy wird nur für andere Anforderungen als GET
verwendetbodyFragment
.
Antwortobjekt
Jede Antwort weist die folgenden Eigenschaften auf:
Eigenschaft | BESCHREIBUNG | Erforderlich | Standardwert | Beispielwert |
---|---|---|---|---|
body |
Text, der als Antwort auf die Anforderung gesendet werden soll | nein | empty | { "foo": "bar" } |
statusCode |
Antwort-HTTP-status-Code | nein | 200 |
404 |
headers |
Array von Headern, die in die Antwort eingeschlossen werden sollen | nein | empty | [{ name: "content-type", "value": "application/json" }] |
Hinweise
Wenn Sie Binärdaten zurückgeben möchten, legen Sie die body
Eigenschaft auf einen Zeichenfolgenwert fest, der mit @
beginnt, gefolgt vom Dateipfad relativ zur Mocks-Datei. Gibt beispielsweise @picture.jpg
das in der picture.jpg
Datei gespeicherte Image im selben Verzeichnis wie die Mocks-Datei zurück.