MockResponsePlugin
Simuluje odpovědi.
Definice instance modulu plug-in
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "mocksPlugin"
}
Příklad konfigurace
{
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Vlastnosti konfigurace
Vlastnost | Popis | Default |
---|---|---|
mocksFile |
Cesta k souboru obsahujícímu napodobené odpovědi | mocks.json |
blockUnmockedRequests |
Vrácení 502 Bad Gateway odpovědi na požadavky, které nejsou napodobeny |
false |
Možnosti příkazového řádku
Název | Description | Default |
---|---|---|
-n, --no-mocks |
Zákaz načítání napodobených požadavků | false |
--mocks-file |
Cesta k souboru obsahujícímu napodobené odpovědi | - |
Příklady souborů napodobení
Následuje příklad napodobení objektů.
Odpovědět textem
Odpověď na požadavek s odpovědí 200 OK a textem JSON.
{
"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"
}
]
}
}
Odpověď s chybou
Odpověď na žádost s odpovědí 404 Nenalezena
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me/photo",
"method": "GET"
},
"response": {
"statusCode": 404
}
}
Odpověď binárními daty
Odpověď na žádost pomocí binární image načtené ze souboru na disku
{
"request": {
"url": "https://graph.microsoft.com/v1.0/users/*/photo/$value",
"method": "GET"
},
"response": {
"body": "@picture.jpg",
"headers": [
{
"name": "content-type",
"value": "image/jpeg"
}
]
}
}
Odpovědět na nth
žádost
Na žádost odpovíte až po druhém zavolání.
{
"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
}
}
}
Odpověď odpovídající textu požadavku
Odpověď na požadavek, který obsahuje konkrétní řetězec v textu.
{
"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..."
}
}
}
Vlastnosti souboru Napodobení
Vlastnost | Popis | Povinné |
---|---|---|
request |
Objekt požadavku , který definuje požadavek, na který má odpovědět | ano |
response |
Objekt Response , který definuje odpověď, která se má vrátit | ano |
Objekt požadavku
Každý požadavek má následující vlastnosti:
Vlastnost | Popis | Povinné | Výchozí hodnota | Ukázková hodnota |
---|---|---|---|---|
url |
Absolutní adresa URL koncového bodu rozhraní API pro odpověď na | ano | https://jsonplaceholder.typicode.com/posts |
|
method |
Příkaz HTTP použitý k porovnávání požadavku s url |
ne | GET |
GET |
nth |
Určuje, že proxy server by měl reagovat až poté, co zachytává požadavek pro nth čas. | ne | 2 |
|
bodyFragment |
Řetězec, který by měl být v textu požadavku. | ne | foo |
Poznámky
Pokud chcete shodovat řadu znaků v adrese URL, použijte ve url
vlastnosti hvězdičku (*
). Například shody https://jsonplaceholder.typicode.com/*
https://jsonplaceholder.typicode.com/posts
a https://jsonplaceholder.typicode.com/comments
. Za běhu převede dev proxy každý z nich *
na regulární výraz .*
.
Při definování napodobení umístěte na první místo ty nejkoniférnější napodobení. Pokud máte například dvě napodobení, jednu pro https://jsonplaceholder.typicode.com/posts
a druhou pro https://jsonplaceholder.typicode.com/*
, umístěte první napodobení jako první. V opačném případě proxy pro vývoj nejprve odpovídá druhému napodobení a vrátí odpověď pro https://jsonplaceholder.typicode.com/*
všechny požadavky.
Vlastnost použijte, nth
pokud potřebujete odeslat jinou adresu URL stejné žádosti. Můžete ho například použít k simulaci dlouhotrvající operace. Při prvním volání rozhraní API se vrátí odpověď se zprávou inprogress
. Při druhém volání rozhraní API se vrátí odpověď se zprávou completed
. Další informace o vlastnosti najdete v nth
tématu Napodobení nth požadavku.
Pomocí vlastnosti bodyFragment
můžete spárovat požadavky na základě obsahu textu. Pokud například chcete spárovat požadavky, které obsahují foo
řetězec v textu, nastavte bodyFragment
vlastnost na foo
. Dev Proxy používá bodyFragment
pouze pro jiné požadavky než GET
.
Objekt odpovědi
Každá odpověď má následující vlastnosti:
Vlastnost | Popis | Povinné | Výchozí hodnota | Ukázková hodnota |
---|---|---|---|---|
body |
Text, který se má odeslat jako odpověď na požadavek | ne | empty | { "foo": "bar" } |
statusCode |
Stavový kód HTTP odpovědi | ne | 200 |
404 |
headers |
Pole hlaviček, které se mají zahrnout do odpovědi | ne | empty | [{ name: "content-type", "value": "application/json" }] |
Poznámky
Pokud chcete vrátit binární data, nastavte body
vlastnost na řetězcovou hodnotu, která začíná @
na následovanou cestou k souboru napodobení. @picture.jpg
Například vrátí obrázek uložený v picture.jpg
souboru ve stejném adresáři jako soubor napodobení.