Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A extensão do Dev Proxy Toolkit VS Code analisa os seus ficheiros de configuração do Proxy de Desenvolvimento e destaca potenciais problemas. Cada diagnóstico tem um código que liga a esta página para orientação de resolução.
Referência de códigos de diagnóstico
| Código | Severity | Description |
|---|---|---|
| apiCenterPluginOrder | Advertência | Ordem incorreta dos plugins para o API Center |
| deprecatedPluginPath | Erro | Usando o antigo caminho DLL do plugin |
| emptyUrlsToWatch | Informação | Nenhuma URL configurada para intercetar |
| invalidConfigSection | Advertência | Secção de configuração órfã |
| invalidConfigSectionSchema | Advertência | Incompatibilidade de versão do esquema da secção de configuração |
| invalidConfigValue | Erro | Valor inválido na secção de configuração |
| invalidSchema | Advertência | Incompatibilidade da versão do esquema com o Proxy de Desenvolvimento instalado |
| MissingLanguageModel | Informação | O plugin pode usar o modelo de linguagem local para melhorar a saída |
| NoEnabledPlugins | Advertência | Nenhum plugin está ativado |
| pluginConfigMissing | Erro/Aviso | Secção de configuração referenciada em falta |
| pluginConfigNãoNecessário | Erro/Aviso | Secção de configuração desnecessária |
| pluginConfigRequired | Erro/Aviso | O plugin requer configuração |
| repórterPosição | Advertência | O plugin Reporter não está no fim da lista |
| resumoSemRepórter | Advertência | Plugin de resumo sem repárter |
| unknownConfigProperty | Advertência | Propriedade desconhecida na secção de configuração |
apiCenterPluginOrder
Gravidade: Aviso
Soluçã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
Lugar 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"
}
}
deprecatedPluginPath
Gravidade: Erro
Solução rápida disponível: Sim
Utiliza pluginPath um formato de path obsoleto.
Motivo
No Dev Proxy v0.29, a DLL do plugin foi renomeada de dev-proxy-plugins.dll para DevProxy.Plugins.dll.
Resolução
Atualize para pluginPath usar o novo formato. Use a solução rápida para atualizar automaticamente.
{
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
emptyUrlsToWatch
Gravidade: Informação
Solução rápida disponível: Não
O urlsToWatch array está vazio.
Motivo
O Proxy de desenvolvimento é usado urlsToWatch para determinar quais os pedidos a interceptar. Um array vazio significa que nenhum pedido será processado.
Resolução
Adicionar padrões de URL para intercetar:
{
"$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
Solução rápida disponível: Não
Existe uma secção de configuração, mas nenhum plugin a referencia.
Motivo
Existe um objeto de topo que não é usado como configSection um por nenhum plugin. Isto acontece frequentemente depois de remover um plugin mas esquecer de remover a sua configuração.
Resolução
Ou remove a secção dos órfãos ou adiciona um plugin que a referencia:
{
"$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
Solução rápida disponível: Sim
A propriedade da $schema secção de configuração não corresponde à versão instalada do Dev Proxy.
Motivo
A sua secção de configuração refere-se a uma versão de esquema diferente do Proxy de Desenvolvimento instalado. Isto pode causar problemas de validação ou falta de funcionalidades.
Resolução
Atualize a propriedade da $schema secção de configuração para corresponder à sua versão instalada. Use a soluçã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
Solução rápida disponível: Não
Um valor de propriedade na secção de configuração não corresponde ao tipo esperado ou às restrições definidas no esquema.
Motivo
O valor pode ser do tipo errado (por exemplo, string em vez de number), fora dos intervalos permitidos, ou não estar na lista de opções válidas.
Resolução
Verifique a documentação do esquema para o formato de valor esperado e atualize em conformidade.
{
"genericRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/genericrandomerrorplugin.schema.json",
"rate": 50
}
}
invalidSchema
Gravidade: Aviso
Solução rápida disponível: Sim
A $schema propriedade não corresponde à versão instalada do Dev Proxy.
Motivo
A tua configuração refere-se a uma versão diferente do esquema do Proxy de Desenvolvimento instalado. Isto pode causar problemas de validação ou falta de funcionalidades.
Resolução
Atualize a $schema propriedade para corresponder à sua versão instalada. Use a soluçã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ção
Solução rápida disponível: Sim
Um plugin pode usar um modelo de linguagem local, mas languageModel.enabled não trueé .
Motivo
Plugins como OpenAIMockResponsePlugin, OpenApiSpecGeneratorPlugin, e TypeSpecGeneratorPlugin podem usar um modelo de linguagem local para melhorar a sua saída. Ao ligar o Dev Proxy a um modelo de linguagem local, pode beneficiar da funcionalidade melhorada sem incorrer em custos adicionais.
Resolução
Adicione ou atualize a languageModel configuração. Use a solução rápida para adicionar ou atualizar languageModel.enabled: true automaticamente. Para mais informações, veja Usar modelo de linguagem local com Devy Proxy.
{
"$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
Solução rápida disponível: Não
O plugins array está vazio ou todos os plugins estão desativados.
Motivo
O Proxy de desenvolvimento requer pelo menos um plugin ativado para processar pedidos.
Resolução
Adicione pelo menos um plugin 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 (plugin ativado) / Aviso (plugin desativado)
Solução rápida disponível: Não
Um plugin faz referência a configSection um que não existe.
Motivo
O plugin tem uma configSection propriedade, mas o objeto de configuração correspondente está ausente no ficheiro.
Resolução
Adicione a secção de configuração em falta. Use o nome do excerto 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"
}
}
pluginConfigNãoNecessário
Gravidade: Erro (plugin ativado) / Aviso (plugin desativado)
Solução rápida disponível: Não
Um plugin tem um configSection mas não suporta configuração.
Motivo
Nem todos os plugins suportam configuração personalizada. Adicionar a configSection a a um plugin que não precisa de um não tem efeito.
Resolução
Remover 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 (plugin ativado) / Aviso (plugin desativado)
Solução rápida disponível: Não
Um plugin requer um configSection mas nenhum é especificado.
Motivo
Alguns plugins requerem configuração para funcionar. A definição do plugin não tem essa configSection propriedade.
Resolução
Adicione uma configSection propriedade e crie o objeto de configuração. Use o nome do excerto 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
}
}
repórterPosição
Gravidade: Aviso
Solução rápida disponível: Não
Um plugin repórter é colocado antes de outros plugins não repórter.
Motivo
Os plugins do Reporter recolhem a saída de outros plugins. Colocá-los antes de outros plugins significa que não vão capturar todos os dados.
Resolução
Mover os plugins do repórter para o final do plugins array:
{
"$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
}
}
resumoSemRepórter
Gravidade: Aviso
Solução rápida disponível: Não
Um plugin de resumo está ativado sem um plugin de repórter.
Motivo
Os plugins gostam ExecutionSummaryPlugin e UrlDiscoveryPlugin geram dados que requerem um plugin de repórter para serem produzidos.
Resolução
Adicione um plugin de repórter após o plugin 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
Solução rápida disponível: Sim
Uma secção de configuração contém uma propriedade que não está definida no seu esquema.
Motivo
A propriedade pode estar mal escrita, de uma versão diferente do Dev Proxy, ou não existir para este plugin.
Resolução
Remova ou renomeie a propriedade desconhecida. Use a solução rápida para remover automaticamente.
{
"mockResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/mockresponseplugin.schema.json",
"mocksFile": "mocks.json"
}
}