Dev Proxy Araç Seti tanılaması

Dev Proxy Toolkit VS Code uzantısı, Geliştirme Ara Sunucusu yapılandırma dosyalarınızı analiz eder ve olası sorunları vurgular. Her tanılamanın çözüm kılavuzu için bu sayfaya bağlanan bir kodu vardır.

Tanılama kodları başvurusu

Kod Severity Description
apiCenterPluginOrder Uyarı API Center için yanlış eklenti sırası
kullanım dışıPluginPath Hata Eski eklenti DLL yolunu kullanma
emptyUrlsToWatch Bilgi Araya girebilmek için yapılandırılmış URL yok
invalidConfigSection Uyarı Yalnız bırakılmış yapılandırma bölümü
invalidConfigSectionSchema Uyarı Yapılandırma bölümü şema sürümü uyuşmazlığı
invalidConfigValue Hata Yapılandırma bölümünde geçersiz değer
invalidSchema Uyarı Yüklü Dev Proxy ile şema sürümü uyuşmazlığı
missingLanguageModel Bilgi Eklenti, çıkışı geliştirmek için yerel dil modelini kullanabilir
noEnabledPlugins Uyarı Hiçbir eklenti etkinleştirilmedi
pluginConfigMissing Hata/Uyarı Başvuruda bulunılan yapılandırma bölümü eksik
pluginConfigNotRequired Hata/Uyarı Gereksiz yapılandırma bölümü
pluginConfigRequired Hata/Uyarı Eklenti yapılandırma gerektirir
reporterPosition Uyarı Muhabir eklentisi listenin sonunda değil
summaryWithoutReporter Uyarı Muhabirsiz özet eklentisi
unknownConfigProperty Uyarı Yapılandırma bölümünde bilinmeyen özellik

apiCenterPluginOrder

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Hayır

OpenApiSpecGeneratorPlugin , sonra ApiCenterOnboardingPluginyerleştirilir.

Nedeni

OpenApiSpecGeneratorPlugin kullanmadan önce ApiCenterOnboardingPlugin OpenAPI belirtimini oluşturması gerekir.

Çözüm

Önüne OpenApiSpecGeneratorPluginyerleştirApiCenterOnboardingPlugin:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenApiSpecGeneratorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    },
    {
      "name": "ApiCenterOnboardingPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "apiCenterOnboardingPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "apiCenterOnboardingPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/apicenteronboardingplugin.schema.json",
    "subscriptionId": "your-subscription-id",
    "resourceGroupName": "your-resource-group",
    "serviceName": "your-api-center",
    "workspaceName": "default"
  }
}

kullanım dışıPluginPath

Önem: Hata
Hızlı düzeltme kullanılabilir: Evet

kullanım pluginPath dışı bırakılmış bir yol biçimi kullanır.

Nedeni

Dev Proxy v0.29'da eklenti DLL'si olarak dev-proxy-plugins.dllDevProxy.Plugins.dllyeniden adlandırıldı.

Çözüm

yeni biçimi kullanmak için öğesini pluginPath güncelleştirin. Otomatik olarak güncelleştirmek için hızlı düzeltmeyi kullanın.

{
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}

emptyUrlsToWatch

Önem: Bilgi
Hızlı düzeltme kullanılabilir: Hayır

Dizi urlsToWatch boş.

Nedeni

Geliştirme Proxy'si hangi isteklerin kesileceğini belirlemek için kullanır urlsToWatch . Boş bir dizi, hiçbir isteğin işlenmeyecek olması anlamına gelir.

Çözüm

Kesme noktası için URL desenleri ekleyin:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*",
    "https://graph.microsoft.com/v1.0/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

invalidConfigSection

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Hayır

Bir yapılandırma bölümü var ancak hiçbir eklenti buna başvurmıyor.

Nedeni

Herhangi bir eklenti tarafından kullanılmamış bir configSection üst düzey nesne vardır. Bu durum genellikle eklenti kaldırıldıktan sonra ancak yapılandırmasını kaldırmayı unuttuktan sonra gerçekleşir.

Çözüm

Yalnız bırakılmış bölümü kaldırın veya ona başvuran bir eklenti ekleyin:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "genericRandomErrorPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
    "rate": 50
  }
}

invalidConfigSectionSchema

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Evet

Yapılandırma bölümünün $schema özelliği yüklü Dev Proxy sürümüyle eşleşmiyor.

Nedeni

Yapılandırma bölümünüz, yüklü Dev Proxy'nizden farklı bir şema sürümüne başvuruyor. Bu, doğrulama sorunlarına veya eksik özelliklere neden olabilir.

Çözüm

Yapılandırma bölümünün $schema özelliğini yüklü sürümünüzle eşleşecek şekilde güncelleştirin. Otomatik olarak güncelleştirmek için hızlı düzeltmeyi (ampul simgesi veya Ctrl+. / Cmd+.) kullanın.

{
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

invalidConfigValue

Önem: Hata
Hızlı düzeltme kullanılabilir: Hayır

Yapılandırma bölümündeki bir özellik değeri, şemada tanımlanan beklenen tür veya kısıtlamalarla eşleşmiyor.

Nedeni

Değer, izin verilen aralıkların dışındaki veya geçerli seçenekler listesinde olmayan yanlış türde (örneğin, sayı yerine dize) olabilir.

Çözüm

Beklenen değer biçimi için şema belgelerini denetleyin ve uygun şekilde güncelleştirin.

{
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
    "rate": 50
  }
}

invalidSchema

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Evet

$schema özelliği yüklü Dev Proxy sürümüyle eşleşmiyor.

Nedeni

Yapılandırmanız, yüklü Dev Proxy'nizden farklı bir şema sürümüne başvuruyor. Bu, doğrulama sorunlarına veya eksik özelliklere neden olabilir.

Çözüm

$schema özelliğini yüklü sürümünüzle eşleşecek şekilde güncelleştirin. Otomatik olarak güncelleştirmek için hızlı düzeltmeyi (ampul simgesi veya Ctrl+. / Cmd+.) kullanın.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json"
}

missingLanguageModel

Önem: Bilgi
Hızlı düzeltme kullanılabilir: Evet

Eklenti, yerel dil modelini kullanabilir ancak languageModel.enabled kullanmaz true.

Nedeni

, OpenApiSpecGeneratorPluginve TypeSpecGeneratorPlugin gibi OpenAIMockResponsePlugineklentiler, çıktılarını geliştirmek için yerel bir dil modeli kullanabilir. Dev Proxy'yi bir yerel dil modeline bağlayarak, ek maliyetler doğurmadan geliştirilmiş işlevsellikten yararlanabilirsiniz.

Çözüm

Yapılandırmayı ekleyin veya güncelleştirin languageModel . Otomatik olarak eklemek veya güncelleştirmek languageModel.enabled: true için hızlı düzeltmeyi kullanın. Daha fazla bilgi için bkz. Dev Proxy ile yerel dil modelini kullanma.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "openAIMockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/*"
  ],
  "languageModel": {
    "enabled": true
  },
  "openAIMockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/openaimockresponseplugin.schema.json"
  }
}

noEnabledPlugins

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Hayır

Dizi plugins boş veya tüm eklentiler devre dışı bırakıldı.

Nedeni

Geliştirme Proxy'si, istekleri işlemek için en az bir etkin eklenti gerektirir.

Çözüm

ile enabled: trueen az bir eklenti ekleyin:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

pluginConfigMissing

Önem: Hata (etkin eklenti) / Uyarı (devre dışı bırakılmış eklenti)
Hızlı düzeltme kullanılabilir: Hayır

Eklenti, var olmayan bir configSection öğesine başvurur.

Nedeni

Eklentinin bir configSection özelliği var, ancak ilgili yapılandırma nesnesi dosyada yok.

Çözüm

Eksik yapılandırma bölümünü ekleyin. Tanılama iletisinde gösterilen kod parçacığı adını kullanın.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}

pluginConfigNotRequired

Önem: Hata (etkin eklenti) / Uyarı (devre dışı bırakılmış eklenti)
Hızlı düzeltme kullanılabilir: Hayır

Eklentinin bir configSection yapılandırması vardır ancak yapılandırmayı desteklemez.

Nedeni

Tüm eklentiler özel yapılandırmayı desteklemez. configSection Bir eklentiye ihtiyacı olmayan bir eklenti eklemenin hiçbir etkisi yoktur.

Çözüm

configSection Özelliğini kaldırın:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "RetryAfterPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ]
}

pluginConfigRequired

Önem: Hata (etkin eklenti) / Uyarı (devre dışı bırakılmış eklenti)
Hızlı düzeltme kullanılabilir: Hayır

Eklenti için bir configSection gerekir, ancak hiçbiri belirtilmez.

Nedeni

Bazı eklentilerin çalışması için yapılandırma gerekir. Eklenti tanımında configSection özelliği eksik.

Çözüm

Bir configSection özellik ekleyin ve yapılandırma nesnesini oluşturun. Tanılama iletisinde gösterilen kod parçacığı adını kullanın.

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "genericRandomErrorPlugin"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "genericRandomErrorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
    "errorsFile": "errors.json",
    "rate": 50
  }
}

reporterPosition

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Hayır

Raporlayıcı olmayan diğer eklentilerin önüne bir muhabir eklentisi yerleştirilir.

Nedeni

Muhabir eklentileri diğer eklentilerden çıktı toplar. Bunları diğer eklentilerin önüne yerleştirmek, tüm verileri yakalayamayacakları anlamına gelir.

Çözüm

Muhabir eklentilerini dizinin sonuna plugins taşıyın:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "MockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "mockResponsePlugin"
    },
    {
      "name": "LatencyPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "latencyPlugin"
    },
    {
      "name": "PlainTextReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ],
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  },
  "latencyPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/latencyplugin.schema.json",
    "minMs": 200,
    "maxMs": 10000
  }
}

summaryWithoutReporter

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Hayır

Özet eklentisi, muhabir eklentisi olmadan etkinleştirilir.

Nedeni

Gibi eklentiler ExecutionSummaryPlugin ve UrlDiscoveryPlugin çıktısı için bir muhabir eklentisi gerektiren veriler oluşturur.

Çözüm

Özet eklentisinden sonra bir reporter eklentisi ekleyin:

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "plugins": [
    {
      "name": "ExecutionSummaryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    },
    {
      "name": "PlainTextReporter",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.example.com/*"
  ]
}

unknownConfigProperty

Önem: Uyarı
Hızlı düzeltme kullanılabilir: Evet

Yapılandırma bölümü, şemasında tanımlanmayan bir özellik içerir.

Nedeni

Özelliği yanlış yazılmış, farklı bir Dev Proxy sürümünden veya bu eklenti için mevcut olmayabilir.

Çözüm

Bilinmeyen özelliği kaldırın veya yeniden adlandırın. Otomatik olarak kaldırmak için hızlı düzeltmeyi kullanın.

{
  "mockResponsePlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
    "mocksFile": "mocks.json"
  }
}