Como Estabelecer e Validar Dados de Resposta de API

Para testar se a estrutura de dados retornada por uma interface é padronizada, você pode usar o módulo de documentação da API do Apidog.

Miguel Oliveira

Miguel Oliveira

9 agosto 2025

Como Estabelecer e Validar Dados de Resposta de API

Durante o processo de desenvolvimento, é importante padronizar os dados de resposta das interfaces. Com especificações relevantes da interface, mesmo que problemas surjam durante iterações subsequentes, desenvolvedores e testadores podem identificar rapidamente a causa do problema.

Para testar se a estrutura de dados retornada por uma interface é padronizada, você pode usar o módulo de documentação da API do Apidog. Primeiro, serão apresentadas estruturas de dados comuns, seguidas de um exemplo para vivenciar o design das estruturas de dados.

Exemplo

1. Problema

Suponha que haja um cenário em que um objeto possui duas propriedades:

tipo: enum

valores: array

Quando o valor do tipo é fixo, o comprimento de valores deve ser 1; quando o valor do tipo é intervalo, o comprimento de valores deve ser 2; quando o valor do tipo é outro, não há limite para o comprimento de valores.

Neste cenário, como podemos limitar o comprimento de valores com base no valor do tipo no Apidog? Para que uma resposta de erro possa ser retornada se a relação entre tipo e valores não puder ser correspondida?

Primeiro, liste todas as possíveis especificações de estrutura de dados com base nos requisitos:

// Tipo A
{
  "type": "fixed",
  "values": ["1"]
}

// Tipo B
{
  "type": "range",
  "values": ["1","2"]
}

// Tipo C
{
  "type": "other",
  "values": ["1","2","89","67"]
}

2. Definir Mock Dados

Para resolver o problema no exemplo de maneira mais conveniente, usamos a função advanced Mock do Apidog para fornecer dados da interface. De acordo com a descrição do problema, precisamos definir 5 tipos diferentes de dados Mock, divididos em 3 verificações bem-sucedidas e 2 verificações falhadas, conforme abaixo:

Mock Avançado

Quando o valor de type é fixed, o comprimento de values deve ser 1:

Tipo Fixo

Quando o valor de type é range, o comprimento de values deve ser 2:

Tipo Intervalo

Quando o valor do tipo é outro, não há limite para o comprimento dos valores:

Tipo Outro

Quando o valor do tipo é fixo, o comprimento de valores não é 1:

Falha Tipo Fixo

Quando o valor do tipo é intervalo, o comprimento de valores não é 2:

Falha Tipo Intervalo

Depois de definir os dados Mock, você pode chamar a interface e verificar se a estrutura de dados na resposta retornada é padronizada.

3. Definir uma Resposta Bem-Sucedida

De acordo com os requisitos mencionados acima, existem três situações correspondentes para os dados de resposta esperados e os dados de resposta retornados, caso contrário, uma resposta de erro será retornada.

3.1 Especificação 1: Resposta bem-sucedida de parâmetro fixo

Defina o tipo como string, adicione um valor de enumeração fixo; defina os valores como tipo array e limite o número de elementos de saída para apenas 1, com elementos do tipo string dentro. Os detalhes são os seguintes:

Resposta Bem-Sucedida Fixa

3.2 Especificação 2: Resposta bem-sucedida de parâmetro de intervalo

Defina o tipo como string, adicione um valor de enumeração de intervalo; defina os valores como tipo array e limite o número máximo e mínimo de elementos para 2, com elementos do tipo string dentro. Os detalhes são os seguintes:

Resposta Bem-Sucedida Intervalo

3.3 Especificação 3: Resposta bem-sucedida de outro parâmetro

Defina o tipo como string, adicione um valor de enumeração de outro; defina os valores como tipo array, sem limite para o número máximo e mínimo de elementos, com elementos do tipo string dentro. Os detalhes são os seguintes:

Resposta Bem-Sucedida Outro

Após definir o exemplo de resposta bem-sucedida, o usuário pode determinar se os dados de interface retornados estão em conformidade com a especificação através do status da resposta ao fazer uma solicitação pela interface.

4. Verificar Dados de Resposta

Os dados de resposta e a especificação de resposta retornada devem corresponder, caso contrário, a verificação falhará. Durante o processo de chamada da interface, é necessário verificar e validar os resultados retornados de forma oportuna para garantir a correção e a integridade dos resultados retornados. Isso pode efetivamente reduzir a probabilidade de falha ou erro na chamada da interface, garantir a consistência e confiabilidade da interface e reduzir os custos de manutenção em um estágio posterior.

4.1 Verificar Especificação 1

Alterar "Verificar Resposta" para "Sucesso Fixo (200)" significa que apenas um valor no array "values" deve ser output para que a afirmação seja bem-sucedida quando o tipo for definido como "fixed".

Verificação de Falha Tipo Fixo

Insira o valor de 1 no campo de parâmetro e clique no botão "Enviar". Como os dados de resposta pré-definidos estão em conformidade com as especificações esperadas, isso indicará uma afirmação bem-sucedida ✅.

Enviar

Se o valor de type não for fixed, a estrutura de dados retornada falhou na verificação ❌:

Verificação Falha

Se o valor de values for null ou mais que 1, a estrutura de dados retornada falhou na verificação ❌:

Valores Null

4.2 Sucesso Intervalo (200)

Alterne "Verificar Resposta" para "Sucesso Intervalo (200)". Isso indica que apenas dois valores são considerados uma afirmação bem-sucedida no array de valores quando o valor do tipo é um intervalo.

Sucesso Intervalo

Se o valor de tipo não for intervalo, a estrutura de dados retornada falhou na verificação ❌:

Estrutura de Dados Falhou

Se o valor de values for null ou não houver 2 valores, a verificação da estrutura de dados também falhará ❌:

Estrutura de Intervalo

4.3 Outro Sucesso (200)

Alterar "Verificar Resposta" para "Outro Sucesso (200)" significa que para o valor de type de other, qualquer número de valores no array "values" resultará em uma afirmação bem-sucedida. ✅

Outro Sucesso

Se o valor de tipo não for other, a estrutura de dados retornada falhará na verificação ❌:

Outro Falhou

Resumo

Além do caso acima, você também pode padronizar outras estruturas de dados no Apidog para verificar se os dados da interface estão padronizados. O Apidog também suporta muitos outros recursos, como importação de interfaces, dados mock e testes automatizados. Clique no link para ler o artigo original e vivenciá-lo por si mesmo!

Explore more

Como acessar a API do Claude 3.7 Sonnet e testar usando Apidog

Como acessar a API do Claude 3.7 Sonnet e testar usando Apidog

Se você está empolgado com o último lançamento da Anthropic, Claude 3.7 Sonnet, e quer explorar suas capacidades através da API enquanto o testa com o Apidog, você está no lugar certo. 💡Antes de começarmos, deixe-me fazer uma rápida observação: baixe o Apidog gratuitamente hoje e otimize seu processo de teste de API, especialmente para explorar os poderosos recursos do Claude 3.7 Sonnet—perfeito para desenvolvedores que desejam testar modelos de IA de ponta como este!botão Vamos começar com a

25 fevereiro 2025

Como passar o x-API-key no cabeçalho?

Como passar o x-API-key no cabeçalho?

Desvende os segredos da segurança eficaz de APIs, dominando como passar x-API-key nos cabeçalhos. Este guia abrangente revelará a importância desse processo e como ferramentas como o Apidog podem facilitar seus esforços. Continue lendo para garantir que suas interações com a API permaneçam seguras!

12 agosto 2024

Como corrigir o erro HTTP 405 Método Não Permitido no Postman

Como corrigir o erro HTTP 405 Método Não Permitido no Postman

O código de erro HTTP 405 ocorre quando você tenta acessar um servidor usando uma chave de API ou token de acesso inválido ou ausente. Neste artigo, veremos mais sobre o erro 405 e como corrigi-lo.

11 agosto 2024

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs