No Apidog, após enviar uma requisição 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 estiverem consistentes, será exibido "Response Data Structure validated!". Isso significa que os valores reais retornados pela API estão consistentes com a especificação da documentação da API, eliminando a necessidade de verificação manual e melhorando a eficiência.
Quando você encontrar os prompts correspondentes à direita, poderá seguir os prompts para resolver o problema.Geralmente, há dois tipos de problemas: o primeiro ocorre quando a resposta do servidor está incorreta; nesse caso, o backend precisa ser modificado para se alinhar à especificação. O segundo ocorre quando a especificação da API está incorreta, exigindo a modificação da especificação do endpoint.Ao utilizar o recurso de validação automática, você pode eliminar a necessidade de escrever scripts manualmente para validar respostas. Além disso, quando houver alterações na especificação da API, a validação também será ajustada automaticamente de acordo.
Por padrão, o Apidog valida a primeira resposta no endpoint, normalmente uma resposta 200. No entanto, um endpoint pode retornar várias respostas diferentes com schemas distintos. Nesses casos, você pode escolher qual resposta validar no canto superior direito da área de validação.
Você também tem a opção de desativar o recurso "validar" clicando no interruptor à frente da resposta. Essa alteração se aplica apenas ao endpoint atual.
À medida que o negócio real evolui, propriedades adicionais podem ser adicionadas à resposta. Nesses casos, o Apidog permite que os usuários determinem se campos adicionais devem ser permitidos.Por exemplo, há uma API para consultar informações do usuário, e os campos retornados anteriormente eram name e phone. Portanto, a estrutura de dados foi especificada assim:
Com a evolução do negócio, um novo campo city foi adicionado a essa API, mas a especificação da API não foi atualizada. De acordo com o mecanismo de validação padrão, nenhum erro será relatado, o que significa que a adição de campos adicionais é permitida por padrão.
No entanto, para cenários de desenvolvimento mais rigorosos, se o valor retornado contiver campos adicionais que não correspondem à definição, a validação da resposta também deverá relatar um erro. Nesse caso, você pode obter o comportamento desejado seguindo estas etapas:
1.
Modifique a resposta na especificação da API. Nas configurações avançadas do object, configure "additionalProperties" como "Deny", o que terá efeito apenas para a API atual.
2.
Se você quiser proibir campos adicionais para todas as APIs no projeto, poderá acessar Settings → Response Validate Settings e desativar Allow Objects to Have additionalProperties.
3.
Após concluir a configuração, ao enviar a requisição novamente, o mecanismo de validação da resposta relatará um erro, indicando que additionalProperties não são permitidas.
O interruptor "Validate Response" fica ativado por padrão, e você pode ajustá-lo em "Verification Response Settings" na interface de configurações do projeto. Essa configuração entra em vigor apenas para todas as APIs no projeto atual e não afeta os Endpoint Cases salvos.
Se você precisar apenas de assertivas manuais ou pós-scripts e não precisar que o Apidog valide a consistência da resposta com a especificação da API, poderá desativar a função de validação para módulos específicos.
A validação da resposta contém "HTTP Status", "Header" e "Body"; você pode ajustá-la em "Validate Response Content" nas configurações do projeto. Essa configuração entra em vigor apenas para todas as APIs no projeto atual e não afeta os Endpoint Cases salvos.