No Apidog, depois de enviar um pedido dentro de um endpoint, o Apidog valida automaticamente se a resposta está em conformidade com o schema com base na especificação do endpoint.
Se os pontos acima forem consistentes, será apresentada a mensagem "Response Data Structure validated!". Isto significa que os valores reais devolvidos pela API são consistentes com a especificação da documentação da API, eliminando a necessidade de verificação manual e melhorando a eficiência.
Quando encontrar as mensagens correspondentes à direita, pode seguir as indicações para resolver o problema.Existem geralmente dois tipos de problemas: o primeiro ocorre quando a resposta do servidor está incorreta, caso em que o backend tem de ser modificado para ficar alinhado com a especificação; o segundo ocorre quando a especificação da API está incorreta, exigindo a modificação da especificação do endpoint.Ao utilizar a funcionalidade de validação automática, pode eliminar a necessidade de escrever scripts manualmente para validar respostas. Além disso, quando houver alterações à especificação da API, a validação também será ajustada automaticamente em conformidade.
Por predefinição, o Apidog valida a primeira resposta no endpoint, normalmente uma resposta 200. No entanto, um endpoint pode devolver várias respostas diferentes com schemas diferentes. Nestes casos, pode escolher que resposta validar no canto superior direito da área de validação.
Também tem a opção de desativar a funcionalidade "validate" ao clicar no interruptor à frente da resposta. Esta alteração aplica-se apenas ao endpoint atual.
À medida que o negócio real evolui, podem ser adicionadas propriedades adicionais à resposta. Nestes casos, o Apidog permite que os utilizadores determinem se devem permitir campos adicionais.Por exemplo, existe uma API para consultar informações de utilizador, e os campos devolvidos anteriormente eram name e phone. Portanto, a estrutura de dados foi especificada assim:
Com a evolução do negócio, foi adicionado um novo campo city a esta API, mas a especificação da API não foi atualizada. De acordo com o mecanismo de validação predefinido, nenhum erro será comunicado, o que significa que a adição de campos adicionais é permitida por predefinição.
No entanto, para cenários de desenvolvimento mais rigorosos, se o valor devolvido contiver campos adicionais que não correspondam à definição, a validação da resposta também deve comunicar um erro. Neste caso, pode obter o comportamento pretendido seguindo estes passos:
1.
Modifique a resposta na especificação da API. Nas definições avançadas do object, configure "additionalProperties" como "Deny", o que só terá efeito para a API atual.
2.
Se pretender não permitir campos adicionais para todas as API no projeto, pode aceder a Settings → Response Validate Settings e desativar Allow Objects to Have additionalProperties.
3.
Depois de concluir a configuração, ao enviar novamente o pedido, o mecanismo de validação da resposta comunicará um erro, indicando que additionalProperties não são permitidas.
O interruptor "Validate Response" está ativado por predefinição, e pode ajustá-lo em "Verification Response Settings" na interface de definições do projeto. Esta definição só tem efeito para todas as API no projeto atual e não afeta os Endpoint Cases guardados.
Se apenas precisar de asserções manuais ou pós-scripts e não precisar que o Apidog valide a consistência da resposta com a especificação da API, pode desativar a função de validação para módulos específicos.
A validação da resposta contém "HTTP Status", "Header", "Body"; pode ajustá-la em "Validate Response Content" nas definições do projeto. Esta definição só tem efeito para todas as API no projeto atual e não afeta os Endpoint Cases guardados.