MockResponsePlugin
Simulerar svar.
Definition av plugin-instans
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "mocksPlugin"
}
Konfigurationsexempel
{
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Konfigurationsegenskaper
Egenskap | Beskrivning | Standardvärde |
---|---|---|
mocksFile |
Sökväg till filen som innehåller simulerade svar | mocks.json |
blockUnmockedRequests |
Returnera 502 Bad Gateway svar för begäranden som inte hånas |
false |
Kommandoradsalternativ
Name | Beskrivning | Standardvärde |
---|---|---|
-n, --no-mocks |
Inaktivera inläsning av mock-begäranden | false |
--mocks-file |
Sökväg till filen som innehåller simulerade svar | - |
Simulerar filexempel
Följande är exempel på simulerade objekt.
Svara med brödtext
Svar på en begäran med ett 200 OK-svar och en JSON-brödtext.
{
"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"
}
]
}
}
Svara med fel
Svara på en begäran med svaret 404 Hittades inte.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me/photo",
"method": "GET"
},
"response": {
"statusCode": 404
}
}
Svara med binära data
Svara på en begäran med en binär avbildning som lästs in från en fil på disk.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/users/*/photo/$value",
"method": "GET"
},
"response": {
"body": "@picture.jpg",
"headers": [
{
"name": "content-type",
"value": "image/jpeg"
}
]
}
}
Svara på nth
begäran
Svara på en begäran först efter den andra gången den anropas.
{
"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
}
}
}
Svara som matchar begärandetexten
Svara på en begäran som innehåller en specifik sträng i brödtexten.
{
"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..."
}
}
}
Simulerar filegenskaper
Egenskap | Beskrivning | Krävs |
---|---|---|
request |
Begär objekt som definierar begäran att svara på | ja |
response |
Svarsobjekt som definierar svaret som ska returneras | ja |
Begär objekt
Varje begäran har följande egenskaper:
Egenskap | Beskrivning | Krävs | Standardvärde | Exempelvärde |
---|---|---|---|---|
url |
Absolut URL till en API-slutpunkt att svara på | ja | https://jsonplaceholder.typicode.com/posts |
|
method |
HTTP-verb som används för att matcha begäran med url |
nej | GET |
GET |
nth |
Avgör att proxyn ska svara först efter när begäran fångas upp för n:e gången | nej | 2 |
|
bodyFragment |
En sträng som ska finnas i begärandetexten | nej | foo |
Kommentarer
Använd asterisk (*
) i url
egenskapen om du vill matcha en serie tecken i URL:en. Till exempel https://jsonplaceholder.typicode.com/*
matchningar https://jsonplaceholder.typicode.com/posts
och https://jsonplaceholder.typicode.com/comments
. Vid körning konverterar Dev Proxy var *
och en till ett reguljärt uttryck .*
.
När du definierar hån placerar du de mest specifika hånen först. Om du till exempel har två modeller, ett för https://jsonplaceholder.typicode.com/posts
och ett för https://jsonplaceholder.typicode.com/*
, placerar du det första hånet först. Annars matchar Dev Proxy det andra hånet först och returnerar svaret för https://jsonplaceholder.typicode.com/*
alla begäranden.
Använd egenskapen nth
om du behöver skicka en annan till samma begärande-URL. Du kan till exempel använda den för att simulera en långvarig åtgärd. Första gången du anropar API:et returneras ett svar med ett inprogress
meddelande. Andra gången du anropar API:et returneras ett svar med completed
meddelandet. Mer information om egenskapen finns i nth
Mock nth request (Testa nth-begäran).
Med hjälp av bodyFragment
egenskapen kan du matcha begäranden baserat på brödtextinnehållet. Om du till exempel vill matcha begäranden som innehåller strängen foo
i brödtexten bodyFragment
anger du egenskapen till foo
. Dev Proxy använder bodyFragment
endast för andra begäranden än GET
.
Svarsobjekt
Varje svar har följande egenskaper:
Egenskap | Beskrivning | Krävs | Standardvärde | Exempelvärde |
---|---|---|---|---|
body |
Brödtext som ska skickas som svar på begäran | nej | tomt | { "foo": "bar" } |
statusCode |
Http-statuskod för svar | nej | 200 |
404 |
headers |
Matris med rubriker som ska inkluderas i svaret | nej | tomt | [{ name: "content-type", "value": "application/json" }] |
Kommentarer
Om du vill returnera binära data anger body
du egenskapen till ett strängvärde som börjar med @
följt av filsökvägen i förhållande till mocks-filen. Returnerar till exempel @picture.jpg
den avbildning som lagras i picture.jpg
filen i samma katalog som mocks-filen.