Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A extensão vs code do Kit de Ferramentas de Proxy de Desenvolvimento analisa os arquivos de configuração do Proxy de Desenvolvimento e realça possíveis problemas. Cada diagnóstico tem um código que é vinculado a esta página para obter diretrizes de resolução.
Referência de códigos de diagnóstico
| Code | Severity | Description |
|---|---|---|
| apiCenterPluginOrder | Aviso | Ordem de plug-in incorreta para o Centro de API |
| preteridoPluginPath | Erro | Usando o caminho DLL do plug-in antigo |
| emptyUrlsToWatch | Informação | Nenhuma URL configurada para interceptar |
| invalidConfigSection | Aviso | Seção de configuração órfã |
| invalidConfigSectionSchema | Aviso | Incompatibilidade de versão do esquema da seção de configuração |
| invalidConfigValue | Erro | Valor inválido na seção de configuração |
| invalidSchema | Aviso | Incompatibilidade de versão do esquema com o Proxy de Desenvolvimento instalado |
| missingLanguageModel | Informação | O plug-in pode usar o modelo de idioma local para melhorar a saída |
| noEnabledPlugins | Aviso | Nenhum plug-in está habilitado |
| pluginConfigMissing | Erro/Aviso | Seção de configuração referenciada ausente |
| pluginConfigNotRequired | Erro/Aviso | Seção de configuração desnecessária |
| pluginConfigRequired | Erro/Aviso | O plug-in requer configuração |
| reporterPosition | Aviso | Plug-in de repórter não no final da lista |
| summaryWithoutReporter | Aviso | Plug-in de resumo sem repórter |
| unknownConfigProperty | Aviso | Propriedade desconhecida na seção de configuração |
apiCenterPluginOrder
Gravidade: Aviso
Correção rápida disponível: Não
OpenApiSpecGeneratorPlugin é colocado após ApiCenterOnboardingPlugin.
Motivo
OpenApiSpecGeneratorPlugin deve gerar a especificação OpenAPI antes ApiCenterOnboardingPlugin de poder usá-la.
Resolução
Coloque OpenApiSpecGeneratorPlugin antes 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"
}
}
preteridoPluginPath
Gravidade: Erro
Correção rápida disponível: Sim
O pluginPath usa um formato de caminho preterido.
Motivo
No Proxy de Desenvolvimento v0.29, a DLL do plug-in foi renomeada de dev-proxy-plugins.dll para DevProxy.Plugins.dll.
Resolução
Atualize o pluginPath formato para usar o novo formato. Use a correção rápida para atualizar automaticamente.
{
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
emptyUrlsToWatch
Gravidade: Informações
Correção rápida disponível: Não
A urlsToWatch matriz está vazia.
Motivo
O Proxy de Desenvolvimento usa urlsToWatch para determinar quais solicitações interceptar. Uma matriz vazia significa que nenhuma solicitação será processada.
Resolução
Adicione padrões de URL para interceptar:
{
"$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
Gravidade: Aviso
Correção rápida disponível: Não
Existe uma seção de configuração, mas nenhum plug-in faz referência a ela.
Motivo
Existe um objeto de nível superior que não é usado como um configSection por qualquer plug-in. Isso geralmente acontece depois de remover um plug-in, mas esquecer de remover sua configuração.
Resolução
Remova a seção órfã ou adicione um plug-in que faça referência a ela:
{
"$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
Gravidade: Aviso
Correção rápida disponível: Sim
A propriedade da $schema seção de configuração não corresponde à versão do Proxy de Desenvolvimento instalada.
Motivo
Sua seção de configuração faz referência a uma versão de esquema diferente do Proxy de Desenvolvimento instalado. Isso pode causar problemas de validação ou recursos ausentes.
Resolução
Atualize a propriedade da $schema seção de configuração para corresponder à sua versão instalada. Use a correção rápida (ícone de lâmpada ou Ctrl+. / Cmd+.) para atualizar automaticamente.
{
"mockResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
"mocksFile": "mocks.json"
}
}
invalidConfigValue
Gravidade: Erro
Correção rápida disponível: Não
Um valor de propriedade na seção de configuração não corresponde ao tipo esperado ou às restrições definidas no esquema.
Motivo
O valor pode ser o tipo errado (por exemplo, cadeia de caracteres em vez de número), intervalos permitidos externos ou não na lista de opções válidas.
Resolução
Verifique a documentação do esquema para o formato de valor esperado e atualize adequadamente.
{
"genericRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
"rate": 50
}
}
invalidSchema
Gravidade: Aviso
Correção rápida disponível: Sim
A $schema propriedade não corresponde à versão do Proxy de Desenvolvimento instalada.
Motivo
Sua configuração faz referência a uma versão de esquema diferente do Proxy de Desenvolvimento instalado. Isso pode causar problemas de validação ou recursos ausentes.
Resolução
Atualize a $schema propriedade para corresponder à sua versão instalada. Use a correção rápida (ícone de lâmpada ou Ctrl+. / Cmd+.) para atualizar automaticamente.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json"
}
missingLanguageModel
Gravidade: Informações
Correção rápida disponível: Sim
Um plug-in pode usar um modelo de idioma local, mas languageModel.enabled não trueé .
Motivo
Plug-ins como OpenAIMockResponsePlugin, OpenApiSpecGeneratorPlugine TypeSpecGeneratorPlugin podem usar um modelo de idioma local para melhorar sua saída. Ao conectar o Proxy de Desenvolvimento a um modelo de idioma local, você pode se beneficiar da funcionalidade aprimorada sem incorrer em custos extras.
Resolução
Adicione ou atualize a languageModel configuração. Use a correção rápida para adicionar ou atualizar languageModel.enabled: true automaticamente. Para obter mais informações, consulte Usar o modelo de idioma local com o Proxy de Desenvolvimento.
{
"$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
Gravidade: Aviso
Correção rápida disponível: Não
A plugins matriz está vazia ou todos os plug-ins estão desabilitados.
Motivo
O Proxy de Desenvolvimento requer pelo menos um plug-in habilitado para processar solicitações.
Resolução
Adicione pelo menos um plug-in com 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
Gravidade: Erro (plug-in habilitado) /Aviso (plug-in desabilitado)
Correção rápida disponível: Não
Um plug-in faz referência a um configSection que não existe.
Motivo
O plug-in tem uma configSection propriedade, mas o objeto de configuração correspondente está ausente do arquivo.
Resolução
Adicione a seção de configuração ausente. Use o nome do snippet mostrado na mensagem de diagnóstico.
{
"$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
Gravidade: Erro (plug-in habilitado) /Aviso (plug-in desabilitado)
Correção rápida disponível: Não
Um plug-in tem uma configSection configuração mas não dá suporte à configuração.
Motivo
Nem todos os plug-ins dão suporte à configuração personalizada. Adicionar um configSection plug-in que não precisa de um não tem efeito.
Resolução
Remova a configSection propriedade:
{
"$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
Gravidade: Erro (plug-in habilitado) /Aviso (plug-in desabilitado)
Correção rápida disponível: Não
Um plug-in requer um configSection , mas nenhum é especificado.
Motivo
Alguns plug-ins exigem a configuração para funcionar. A definição do plug-in não tem a configSection propriedade.
Resolução
Adicione uma configSection propriedade e crie o objeto de configuração. Use o nome do snippet mostrado na mensagem de diagnóstico.
{
"$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
Gravidade: Aviso
Correção rápida disponível: Não
Um plug-in de repórter é colocado antes de outros plug-ins não reportadores.
Motivo
Os plug-ins do repórter coletam a saída de outros plug-ins. Colocá-los antes de outros plug-ins significa que eles não capturarão todos os dados.
Resolução
Mover plug-ins de repórter para o final da plugins matriz:
{
"$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
Gravidade: Aviso
Correção rápida disponível: Não
Um plug-in de resumo está habilitado sem um plug-in de repórter.
Motivo
Os plug-ins gostam ExecutionSummaryPlugin e UrlDiscoveryPlugin geram dados que exigem um plug-in de repórter para a saída.
Resolução
Adicione um plug-in de repórter após o plug-in de resumo:
{
"$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
Gravidade: Aviso
Correção rápida disponível: Sim
Uma seção de configuração contém uma propriedade que não está definida em seu esquema.
Motivo
A propriedade pode ser incorreta, de uma versão diferente do Proxy de Desenvolvimento ou não existe para esse plug-in.
Resolução
Remova ou renomeie a propriedade desconhecida. Use a correção rápida para removê-la automaticamente.
{
"mockResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
"mocksFile": "mocks.json"
}
}