Validando especificações de API em Insights de APIs
Você pode acessar as regras de validação de especificação de API para verificar se as especificações de API estão completas, consistentes e seguem as práticas recomendadas.
As regras de validação identificam problemas estruturais no início da importação ou análise, melhorando a qualidade geral da API. Você pode gerenciar essas regras para impor a padronização nas especificações de API e reduzir erros verificando se há campos ausentes ou incorretos antes que as APIs sejam publicadas ou usadas na produção.
Armazenando especificações de API
| Campo | Descrição |
|---|---|
| Nome | Nome da API. |
| Versão | Versão da API. |
| Tipo | Formato e versão do padrão de especificação da API que está sendo usado. Por exemplo, openapi3.0.0 Para uma especificação OpenAPI. |
| Estado | Status atual que indica se a especificação da API foi validada em relação às regras aplicáveis e ao resultado da validação. Os valores válidos são:
|
| Especificações | Conteúdo completo do arquivo de especificação da API. Nota: Para OpenAPI, inclui o documento OpenAPI completo que descreve endpoints, métodos e esquema. |
| Mensagem | As mensagens são geradas após o processamento de todas as regras de validação para o tipo de especificação. Eles incluem erros ou avisos com explicações. |
Estrutura da regra de validação
Cada regra de validação contém os seguintes componentes-chave:
| Componente | Descrição |
|---|---|
| Especificações | Especificação de API para a qual a regra foi projetada. |
| Versão | Versão da especificação da API que a regra valida. Se especificada, a regra se aplicará somente a essas versões. Para restringir a validação a versões específicas, especifique-as em Versão campo. Separe vários valores com vírgulas. Por exemplo, 1,0,1,1,2,0 .Nota: . Versão Deixado em branco, a regra é executada para todas as versões instaladas do tipo de especificação de API especificado. |
| Tipo | Tipo de validação a ser executada. Os valores válidos são:
|
| Chave | Parte da especificação a ser verificada. Se nenhum valor esperado for fornecido, você poderá inserir várias chaves no Chave separado por vírgulas. |
| Valor | Valores esperados para a chave especificada em Chave campo. Separe vários valores com vírgulas. |
| Gravidade | Nível de gravidade do resultado da regra de validação, um aviso ou um erro. Nota: Quando definida como aviso, a especificação da API permanecerá válida se a regra não for atendida, indicando que não é uma falha e somente uma mensagem será exibida. |
| Mensagem | Explicação do problema quando a regra é acionada. |
| Ativo | Opção para ativar a regra. Somente regras ativas são acionadas pelo API Specification Validationtrabalho agendado. |
Processo de validação de especificação de API
. API Specification ValidationO trabalho agendado valida automaticamente as especificações de API não processadas em relação às regras ativas com base no tipo de especificação para garantir a conformidade com os padrões necessários.
- Recuperando todas as regras de validação ativas da tabela Regra de validação de especificação [sn_api_insights_ws_spec_validation_rule].
- Selecionar APIs marcadas como não processadas na tabela Especificação de API [sn_api_insights_ws_api_specification].
- Aplicar regras de validação relevantes a cada API selecionada com base em seu tipo de especificação, como OpenAPI.
- Verificando a presença ou a exatidão de campos específicos ou seus valores na especificação da API.
- Atualizando o status de processamento e capturando erros ou avisos.
Regras predefinidas para especificações do OpenAPI
- Validar marcadores
- Verifica se cada marcador na especificação da API inclui um
nomecampo. .nomeo campo está ausente, o sistema retorna uma mensagem de aviso, mas marca a especificação como válida. - Validar seções necessárias
- Verifica se a especificação da API inclui as seções de nível superior necessárias:
informações,caminhosecomponentes. Se alguma dessas seções estiver ausente, o sistema retornará uma mensagem de erro e marcará a especificação como inválida. - Validar seção de servidores
- Verifica se a especificação da API inclui um
servidoresseção que define os endpoints do servidor. .servidoresa seção está ausente, o sistema retorna uma mensagem de erro e marca a especificação como inválida.
Essas regras predefinidas verificam seções críticas, como marcação, metadados e definições de servidor nas especificações da OpenAPI.