Fejlesztői proxyeszköz diagnosztikája

A Dev Proxy Toolkit VS Code bővítmény elemzi a Dev Proxy konfigurációs fájljait, és kiemeli a lehetséges problémákat. Minden diagnosztikához tartozik egy kód, amely erre a lapra mutat a megoldási útmutatóhoz.

Diagnosztikai kódok referenciája

Kód Súlyosság Description
apiCenterPluginOrder Figyelmeztetés Az API Center beépülő moduljának helytelen sorrendje
deprecatedPluginPath Error Régi beépülő modul DLL-elérési útjának használata
emptyUrlsToWatch Információ Nincsenek elfogásra konfigurált URL-címek
invalidConfigSection Figyelmeztetés Árva konfigurációs szakasz
invalidConfigSectionSchema Figyelmeztetés Konfigurációs szakasz sémaverziója nem egyezik
invalidConfigValue Error Érvénytelen érték a konfigurációs szakaszban
invalidSchema Figyelmeztetés A sémaverzió nem egyezik a telepített Dev Proxyval
missingLanguageModel Információ A beépülő modul helyi nyelvi modellel javíthatja a kimenetet
noEnabledPlugins Figyelmeztetés Nincsenek engedélyezve beépülő modulok
pluginConfigMissing Hiba/figyelmeztetés Hiányzik a hivatkozott konfigurációs szakasz
pluginConfigNotRequired Hiba/figyelmeztetés Szükségtelen konfigurációs szakasz
pluginConfigRequired Hiba/figyelmeztetés A beépülő modul konfigurációt igényel
reporterPosition Figyelmeztetés A riporter beépülő modul nincs a lista végén
summaryWithoutReporter Figyelmeztetés Összefoglaló beépülő modul riporter nélkül
unknownConfigProperty Figyelmeztetés Ismeretlen tulajdonság a konfigurációs szakaszban

apiCenterPluginOrder

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Nem

OpenApiSpecGeneratorPlugin a után ApiCenterOnboardingPluginlesz elhelyezve.

Oka

OpenApiSpecGeneratorPlugin a használat előtt ApiCenterOnboardingPlugin létre kell hoznia az OpenAPI-specifikációt.

Rezolúció

Helyezze a következő OpenApiSpecGeneratorPlugin elé ApiCenterOnboardingPlugin:

{
  "$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"
  }
}

deprecatedPluginPath

Súlyossága: Hiba
Gyorsjavítás elérhető: Igen

Elavult pluginPath elérésiút-formátumot használ.

Oka

A Dev Proxy 0.29-ben a beépülő DLL-t átnevezték a következőre dev-proxy-plugins.dllDevProxy.Plugins.dll: .

Rezolúció

Frissítse az pluginPath új formátumot. A gyorsjavítással automatikusan frissíthet.

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

emptyUrlsToWatch

Súlyossága: Információ
Gyorsjavítás elérhető: Nem

A urlsToWatch tömb üres.

Oka

A dev proxy segítségével urlsToWatch határozza meg, hogy mely kérelmeket kell elfogni. Az üres tömb azt jelenti, hogy a rendszer nem dolgoz fel kéréseket.

Rezolúció

URL-minták hozzáadása a lehallgatáshoz:

{
  "$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

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Nem

Létezik konfigurációs szakasz, de nem hivatkozik rá beépülő modul.

Oka

Létezik egy legfelső szintű objektum, amelyet egyetlen beépülő modul sem használ configSection . Ez gyakran előfordul egy beépülő modul eltávolítása után, de elfelejti eltávolítani a konfigurációját.

Rezolúció

Távolítsa el az árva szakaszt, vagy adjon hozzá egy beépülő modult, amely hivatkozik rá:

{
  "$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

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Igen

A konfigurációs szakasz tulajdonsága $schema nem egyezik a telepített fejlesztői proxyverzióval.

Oka

A konfigurációs szakasz a telepített Dev Proxytól eltérő sémaverzióra hivatkozik. Ez érvényesítési problémákat vagy hiányzó funkciókat okozhat.

Rezolúció

Frissítse a konfigurációs szakasz tulajdonságát $schema a telepített verziónak megfelelően. A gyorsjavítás (villanykörte ikon vagy Ctrl+. / Cmd+.) használatával automatikusan frissíthet.

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

invalidConfigValue

Súlyossága: Hiba
Gyorsjavítás elérhető: Nem

A konfigurációs szakaszban szereplő tulajdonságértékek nem felelnek meg a sémában meghatározott várt típusnak vagy kényszereknek.

Oka

Lehet, hogy az érték helytelen típus (például szám helyett sztring), az engedélyezett tartományokon kívül, vagy nem szerepel az érvényes beállítások listájában.

Rezolúció

Ellenőrizze a sémadokumentációban a várt értékformátumot, és frissítse ennek megfelelően.

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

invalidSchema

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Igen

A $schema tulajdonság nem egyezik a telepített Fejlesztői proxy verziójával.

Oka

A konfiguráció a telepített Dev Proxytól eltérő sémaverzióra hivatkozik. Ez érvényesítési problémákat vagy hiányzó funkciókat okozhat.

Rezolúció

Frissítse a tulajdonságot a $schema telepített verziónak megfelelően. A gyorsjavítás (villanykörte ikon vagy Ctrl+. / Cmd+.) használatával automatikusan frissíthet.

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

missingLanguageModel

Súlyossága: Információ
Gyorsjavítás elérhető: Igen

A beépülő modulok használhatnak helyi nyelvi modellt, de languageModel.enabled nem true.

Oka

Az olyan beépülő modulok, mint a OpenAIMockResponsePlugin, OpenApiSpecGeneratorPluginés TypeSpecGeneratorPlugin helyi nyelvi modellel javíthatják a kimenetüket. Ha a Dev Proxyt egy helyi nyelvi modellhez csatlakoztatja, a továbbfejlesztett funkciók további költségek nélkül is kihasználhatók.

Rezolúció

Adja hozzá vagy frissítse a konfigurációt languageModel . A gyorsjavítással automatikusan hozzáadhat vagy frissíthet languageModel.enabled: true . További információ: Helyi nyelvi modell használata Dev Proxyval.

{
  "$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

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Nem

A plugins tömb üres, vagy az összes beépülő modul le van tiltva.

Oka

A dev proxynak legalább egy engedélyezett beépülő modulra van szüksége a kérések feldolgozásához.

Rezolúció

Adjon hozzá legalább egy beépülő modult a következővel enabled: true:

{
  "$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

Súlyossága: Hiba (engedélyezett beépülő modul) / Figyelmeztetés (letiltott beépülő modul)
Gyorsjavítás elérhető: Nem

Egy beépülő modul nem létezőre hivatkozik configSection .

Oka

A beépülő modul rendelkezik egy configSection tulajdonságmal, de a megfelelő konfigurációs objektum hiányzik a fájlból.

Rezolúció

Adja hozzá a hiányzó konfigurációs szakaszt. Használja a diagnosztikai üzenetben látható kódrészletnevet.

{
  "$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

Súlyossága: Hiba (engedélyezett beépülő modul) / Figyelmeztetés (letiltott beépülő modul)
Gyorsjavítás elérhető: Nem

A beépülő modul rendelkezik egy configSection , de nem támogatja a konfigurációt.

Oka

Nem minden beépülő modul támogatja az egyéni konfigurációt. Ha olyan configSection beépülő modult ad hozzá, amelynek nincs szüksége rá, nincs hatása.

Rezolúció

Távolítsa el a tulajdonságot configSection :

{
  "$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

Súlyossága: Hiba (engedélyezett beépülő modul) / Figyelmeztetés (letiltott beépülő modul)
Gyorsjavítás elérhető: Nem

A beépülő modulhoz szükség van egy configSection , de nincs megadva.

Oka

Egyes beépülő modulok működéséhez konfiguráció szükséges. A beépülő modul definíciója hiányzik a tulajdonságból configSection .

Rezolúció

Adjon hozzá egy tulajdonságot configSection , és hozza létre a konfigurációs objektumot. Használja a diagnosztikai üzenetben látható kódrészletnevet.

{
  "$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

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Nem

A riporter beépülő modul a többi nem jelentéskészítő beépülő modul elé kerül.

Oka

A riporter beépülő modulok más beépülő modulok kimenetét gyűjtik össze. Ha más beépülő modulok elé helyezi őket, az azt jelenti, hogy nem rögzítik az összes adatot.

Rezolúció

A riporter beépülő moduljainak áthelyezése a plugins tömb végére:

{
  "$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

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Nem

Az összefoglaló beépülő modul riporter beépülő modul nélkül is engedélyezve van.

Oka

A beépülő modulok olyan adatokat kedvelnek ExecutionSummaryPlugin és UrlDiscoveryPlugin hoznak létre, amelyek kimenetéhez egy riporter beépülő modul szükséges.

Rezolúció

Adjon hozzá egy riporter beépülő modult az összefoglaló beépülő modul után:

{
  "$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

Súlyossága: Figyelmeztetés
Gyorsjavítás elérhető: Igen

A konfigurációs szakasz olyan tulajdonságot tartalmaz, amely nincs definiálva a sémájában.

Oka

Előfordulhat, hogy a tulajdonság hibásan van beírva, egy másik fejlesztői proxyverzióból, vagy nem létezik ehhez a beépülő modulhoz.

Rezolúció

Távolítsa el vagy nevezze át az ismeretlen tulajdonságot. A gyorsjavítással automatikusan eltávolíthatja.

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