Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’extension VS Code dev Proxy Toolkit analyse vos fichiers de configuration du proxy de développement et met en évidence les problèmes potentiels. Chaque diagnostic a un code qui est lié à cette page pour obtenir des conseils de résolution.
Informations de référence sur les codes de diagnostic
| Code | Niveau de gravité | Descriptif |
|---|---|---|
| apiCenterPluginOrder | Avertissement | Ordre de plug-in incorrect pour le Centre d’API |
| dépréciéPluginPath | Erreur | Utilisation de l’ancien chemin d’accès à la DLL du plug-in |
| emptyUrlsToWatch | Informations | Aucune URL configurée pour intercepter |
| invalidConfigSection | Avertissement | Section de configuration orpheline |
| invalidConfigSectionSchema | Avertissement | Incompatibilité de version du schéma de section de configuration |
| invalidConfigValue | Erreur | Valeur non valide dans la section config |
| invalidSchema | Avertissement | Incompatibilité de version de schéma avec le proxy de développement installé |
| missingLanguageModel | Informations | Le plug-in peut utiliser le modèle de langage local pour améliorer la sortie |
| noEnabledPlugins | Avertissement | Aucun plug-in n’est activé |
| pluginConfigMissing | Erreur/avertissement | Section de configuration référencée manquante |
| pluginConfigNotRequired | Erreur/avertissement | Section de configuration inutile |
| pluginConfigRequired | Erreur/avertissement | Le plug-in nécessite une configuration |
| reporterPosition | Avertissement | Plug-in Reporter non à la fin de la liste |
| summaryWithoutReporter | Avertissement | Plug-in de synthèse sans reporter |
| unknownConfigProperty | Avertissement | Propriété inconnue dans la section config |
apiCenterPluginOrder
Gravité: Avertissement
Correctif rapide disponible : Non
OpenApiSpecGeneratorPlugin est placé après ApiCenterOnboardingPlugin.
La cause
OpenApiSpecGeneratorPlugin doit générer la spécification OpenAPI avant ApiCenterOnboardingPlugin de pouvoir l’utiliser.
Résolution
Place OpenApiSpecGeneratorPlugin avant 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"
}
}
dépréciéPluginPath
Gravité: Erreur
Correctif rapide disponible : Oui
Utilise pluginPath un format de chemin déconseillé.
La cause
Dans Dev Proxy v0.29, la DLL du dev-proxy-plugins.dll plug-in a été renommée en DevProxy.Plugins.dll.
Résolution
Mettez à jour le pluginPath format pour utiliser le nouveau format. Utilisez le correctif rapide pour mettre à jour automatiquement.
{
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
emptyUrlsToWatch
Gravité: Informations
Correctif rapide disponible : Non
Le urlsToWatch tableau est vide.
La cause
Le proxy de développement utilise urlsToWatch pour déterminer les requêtes à intercepter. Un tableau vide signifie qu’aucune demande n’est traitée.
Résolution
Ajoutez des modèles d’URL pour intercepter :
{
"$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
Gravité: Avertissement
Correctif rapide disponible : Non
Une section de configuration existe, mais aucun plug-in ne le référence.
La cause
Un objet de niveau supérieur n’est pas utilisé comme configSection un plug-in. Cela se produit souvent après la suppression d’un plug-in, mais l’oubli de supprimer sa configuration.
Résolution
Supprimez la section orpheline ou ajoutez un plug-in qui le référence :
{
"$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
Gravité: Avertissement
Correctif rapide disponible : Oui
La propriété de la $schema section config ne correspond pas à la version installée du proxy de développement.
La cause
Votre section de configuration fait référence à une version de schéma différente de celle de votre proxy de développement installé. Cela peut entraîner des problèmes de validation ou des fonctionnalités manquantes.
Résolution
Mettez à jour la propriété de la $schema section de configuration pour qu’elle corresponde à votre version installée. Utilisez le correctif rapide (icône d’ampoule ou Ctrl+. / Cmd+.) pour effectuer une mise à jour automatique.
{
"mockResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
"mocksFile": "mocks.json"
}
}
invalidConfigValue
Gravité: Erreur
Correctif rapide disponible : Non
Une valeur de propriété dans la section de configuration ne correspond pas au type ou aux contraintes attendus définis dans le schéma.
La cause
La valeur peut être le type incorrect (par exemple, chaîne au lieu de nombre), en dehors des plages autorisées ou non dans la liste des options valides.
Résolution
Consultez la documentation du schéma pour le format de valeur attendu et mettez à jour en conséquence.
{
"genericRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
"rate": 50
}
}
invalidSchema
Gravité: Avertissement
Correctif rapide disponible : Oui
La $schema propriété ne correspond pas à la version installée du proxy de développement.
La cause
Votre configuration fait référence à une version de schéma différente de celle de votre proxy de développement installé. Cela peut entraîner des problèmes de validation ou des fonctionnalités manquantes.
Résolution
Mettez à jour la propriété pour qu’elle $schema corresponde à votre version installée. Utilisez le correctif rapide (icône d’ampoule ou Ctrl+. / Cmd+.) pour effectuer une mise à jour automatique.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json"
}
missingLanguageModel
Gravité: Informations
Correctif rapide disponible : Oui
Un plug-in peut utiliser un modèle de langage local, mais languageModel.enabled ce n’est pas le cas true.
La cause
Les plug-ins tels que OpenAIMockResponsePlugin, OpenApiSpecGeneratorPluginet TypeSpecGeneratorPlugin peuvent utiliser un modèle de langage local pour améliorer leur sortie. En connectant le proxy de développement à un modèle de langage local, vous pouvez bénéficier des fonctionnalités améliorées sans entraîner de coûts supplémentaires.
Résolution
Ajoutez ou mettez à jour la languageModel configuration. Utilisez le correctif rapide pour ajouter ou mettre à jour languageModel.enabled: true automatiquement. Pour plus d’informations, consultez Utiliser le modèle de langage local avec le proxy de développement.
{
"$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
Gravité: Avertissement
Correctif rapide disponible : Non
Le plugins tableau est vide ou tous les plug-ins sont désactivés.
La cause
Le proxy de développement nécessite au moins un plug-in activé pour traiter les demandes.
Résolution
Ajoutez au moins un plug-in avec 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
Gravité: Erreur (plug-in activé) / Avertissement (plug-in désactivé)
Correctif rapide disponible : Non
Un plug-in fait référence à un configSection plug-in qui n’existe pas.
La cause
Le plug-in a une configSection propriété, mais l’objet de configuration correspondant est manquant dans le fichier.
Résolution
Ajoutez la section de configuration manquante. Utilisez le nom de l’extrait de code indiqué dans le message de diagnostic.
{
"$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
Gravité: Erreur (plug-in activé) / Avertissement (plug-in désactivé)
Correctif rapide disponible : Non
Un plug-in a une configSection configuration, mais ne prend pas en charge la configuration.
La cause
Tous les plug-ins ne prennent pas en charge la configuration personnalisée. L’ajout d’un configSection plug-in qui n’a pas besoin d’un plug-in n’a aucun effet.
Résolution
Supprimez la configSection propriété :
{
"$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
Gravité: Erreur (plug-in activé) / Avertissement (plug-in désactivé)
Correctif rapide disponible : Non
Un plug-in nécessite un configSection plug-in, mais aucun n’est spécifié.
La cause
Certains plug-ins nécessitent une configuration pour fonctionner. La définition du plug-in est manquante.configSection
Résolution
Ajoutez une configSection propriété et créez l’objet de configuration. Utilisez le nom de l’extrait de code indiqué dans le message de diagnostic.
{
"$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
Gravité: Avertissement
Correctif rapide disponible : Non
Un plug-in reporter est placé avant d’autres plug-ins non reporter.
La cause
Les plug-ins reporter collectent la sortie d’autres plug-ins. Les placer avant d’autres plug-ins signifie qu’ils ne capturent pas toutes les données.
Résolution
Déplacez les plug-ins reporters à la fin du plugins tableau :
{
"$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
Gravité: Avertissement
Correctif rapide disponible : Non
Un plug-in de synthèse est activé sans plug-in reporter.
La cause
Les plug-ins aiment ExecutionSummaryPlugin et UrlDiscoveryPlugin génèrent des données qui nécessitent un plug-in reporter pour la sortie.
Résolution
Ajoutez un plug-in reporter après le plug-in de synthèse :
{
"$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
Gravité: Avertissement
Correctif rapide disponible : Oui
Une section de configuration contient une propriété qui n’est pas définie dans son schéma.
La cause
La propriété peut être mal orthographié, d’une autre version du proxy de développement ou n’existe pas pour ce plug-in.
Résolution
Supprimez ou renommez la propriété inconnue. Utilisez le correctif rapide pour le supprimer automatiquement.
{
"mockResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
"mocksFile": "mocks.json"
}
}