MockResponsePlugin
Yanıtların simülasyonunu oluşturur.
Eklenti örneği tanımı
{
"name": "MockResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "mocksPlugin"
}
Yapılandırma örneği
{
"mocksPlugin": {
"mocksFile": "mocks.json"
}
}
Yapılandırma özellikleri
Özellik | Açıklama | Default |
---|---|---|
mocksFile |
Sahte yanıtlar içeren dosyanın yolu | mocks.json |
blockUnmockedRequests |
Sahte olmayan istekler için yanıt döndür 502 Bad Gateway |
false |
Komut satırı seçenekleri
Ad | Açıklama | Default |
---|---|---|
-n, --no-mocks |
Sahte istekleri yüklemeyi devre dışı bırakma | false |
--mocks-file |
Sahte yanıtlar içeren dosyanın yolu | - |
Sahte dosya örnekleri
Aşağıda sahte nesnelere örnekler verilmiştir.
Gövde ile yanıt verme
200 Tamam yanıtı ve bir JSON gövdesi ile bir isteğe yanıt.
{
"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"
}
]
}
}
Hatayla yanıt verme
Bir isteğe 404 Bulunamadı yanıtıyla yanıt verin.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/me/photo",
"method": "GET"
},
"response": {
"statusCode": 404
}
}
İkili verilerle yanıt verme
Disk üzerindeki bir dosyadan yüklenen ikili görüntüyle bir isteğe yanıt verin.
{
"request": {
"url": "https://graph.microsoft.com/v1.0/users/*/photo/$value",
"method": "GET"
},
"response": {
"body": "@picture.jpg",
"headers": [
{
"name": "content-type",
"value": "image/jpeg"
}
]
}
}
İstek üzerine nth
yanıt verme
bir isteği yalnızca ikinci kez çağrıldıktan sonra yanıtlayı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
}
}
}
İstek gövdesiyle eşleşen yanıt
Gövdede belirli bir dize içeren bir isteği yanıtlar.
{
"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..."
}
}
}
Sahte dosya özellikleri
Özellik | Açıklama | Gerekli |
---|---|---|
request |
Yanıt vermek için isteği tanımlayan request nesnesi | evet |
response |
Döndürülecek yanıtı tanımlayan yanıt nesnesi | evet |
İstek nesnesi
Her istek aşağıdaki özelliklere sahiptir:
Özellik | Açıklama | Gerekli | Varsayılan değer | Örnek değer |
---|---|---|---|---|
url |
Yanıt vermek için API uç noktasının mutlak URL'si | evet | https://jsonplaceholder.typicode.com/posts |
|
method |
İsteği ile eşleştirmek için kullanılan HTTP fiili url |
hayır | GET |
GET |
nth |
Proxy'nin yalnızca isteğin n. kez araya girilmesinden sonra yanıt vermesi gerektiğini belirler | hayır | 2 |
|
bodyFragment |
İstek gövdesinde bulunması gereken bir dize | hayır | foo |
Açıklamalar
URL'deki herhangi bir karakter serisini url
eşleştirmek istiyorsanız özelliğinde yıldız işareti (*
) kullanın. Örneğin, https://jsonplaceholder.typicode.com/*
ve https://jsonplaceholder.typicode.com/comments
ile eşleşirhttps://jsonplaceholder.typicode.com/posts
. Çalışma zamanında, Geliştirme Proxy'si her *
bir öğesini normal ifadeye .*
dönüştürür.
Sahteleri tanımlarken, önce en özel sahteleri yerleştirin. Örneğin, biri için, diğeri https://jsonplaceholder.typicode.com/*
için https://jsonplaceholder.typicode.com/posts
olmak üzere iki sahteniz varsa, ilk sahteyi önce yerleştirin. Aksi takdirde, Geliştirme Proxy'si ilk olarak ikinci sahte ile eşleşir ve tüm istekler için https://jsonplaceholder.typicode.com/*
yanıtı döndürür.
Aynı istek URL'sine nth
farklı bir göndermeniz gerekiyorsa özelliğini kullanın. Örneğin, uzun süre çalışan bir işlemin benzetimini yapmak için bunu kullanın. API'yi ilk kez çağırdığınızda, ileti içeren bir inprogress
yanıt döndürür. API'yi ikinci kez çağırdığınızda, iletiyle birlikte completed
bir yanıt döndürür. Özelliği hakkında nth
daha fazla bilgi için bkz . Sahte n. istek.
bodyFragment
özelliğini kullanarak istekleri gövde içeriğine göre eşleştirebilirsiniz. Örneğin, gövdedeki dizeyi foo
içeren istekleri eşleştirmek istiyorsanız özelliğini olarak foo
ayarlayınbodyFragment
. Geliştirme Proxy'si yalnızca dışındaki GET
istekler için kullanırbodyFragment
.
Yanıt nesnesi
Her yanıt aşağıdaki özelliklere sahiptir:
Özellik | Açıklama | Gerekli | Varsayılan değer | Örnek değer |
---|---|---|---|---|
body |
İstek yanıtı olarak gönderilecek gövde | hayır | empty | { "foo": "bar" } |
statusCode |
Yanıt HTTP durum kodu | hayır | 200 |
404 |
headers |
Yanıta eklenecek üst bilgi dizisi | hayır | empty | [{ name: "content-type", "value": "application/json" }] |
Açıklamalar
İkili veri döndürmek istiyorsanız, özelliğini sahte dosyaya göre dosya yolu ile @
başlayan bir dize değeri olarak ayarlayınbody
. Örneğin, @picture.jpg
sahte dosyayla picture.jpg
aynı dizinde dosyada depolanan görüntüyü döndürür.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin