DEV Community

Cover image for Simular corpos de REQUISIÇÃO automaticamente para acelerar a depuração de APIs
jasonchan
jasonchan

Posted on

1

Simular corpos de REQUISIÇÃO automaticamente para acelerar a depuração de APIs

Ao desenvolver APIs, a depuração é sempre um problema chato.

O Postman pode ajudar a enviar solicitações, mas quando o corpo da API é complicado, a construção de um corpo JSON seria difícil. O Junit também funciona, mas todas as solicitações devem ser construídas por você mesmo nas classes de teste.

Corpos complexos fazem muitos backends abandonarem testes unitários e saírem com uma API não testada para desenvolvedores front-end e engenheiros de QA.

O caso acima demonstra que a qualidade do código declina sem uma boa ferramenta.

E agora, descobri que uma ferramenta chamada Apidog pode gerar o corpo da solicitação automaticamente ao depurar. A ferramenta pode construir um JSON de solicitação correto por si só.

Como simular

Esta abordagem funciona para equipes API-first. As APIs são projetadas antes do desenvolvimento, então durante a depuração, você tem uma especificação de API.

  1. Importe as especificações da API para o Apidog. (Como?)
  2. Abra uma API e verifique se a solicitação tem uma especificação de corpo JSON/XML.

Imagem

  1. Mude para a guia "Run" e clique no botão "Generate Automatically".

Pronto. Você obteve um JSON simulado de acordo com a especificação da solicitação!

Imagem

E agora clique em "Send" para enviar a solicitação como fizemos no Postman, mas de forma mais eficiente. A maioria dos recursos no Postman também é suportada no Apidog.

Nossa equipe tem usado o Apidog para depurar APIs em vez do Postman por semanas.

O que mais há

Observe os dados simulados. Eles foram gerados automaticamente de acordo com o nome do campo. Um campo nomeado "cidade" é simulado com um nome de cidade, um campo chamado photoUrl é simulado com uma URL de foto e todos os dados simulados seguem o schema JSON especificado na API.

E isso não é o fim.

Passe o mouse sobre a seta ao lado de "Generate Automatically", você verá três itens de menu.

Imagem

"Default value first" significa que o JSON simulado seria preenchido pelo valor padrão especificado em cada campo da API primeiro. "Example value first" significa que o JSON simulado seria carregado pelo JSON de solicitação de exemplo primeiro. Mas o que é "Atualizar ao enviar solicitação"?

Imagem

É apenas o significado literal. Cada vez que a solicitação é enviada, o corpo é gerado novamente.

Interessante, não é?

Personalize

Até agora, tudo parece ótimo.

Mas e se alguns dos meus campos não forem esperados para mudar? Como posso tornar alguns campos fixos e outros simulados?

Clique no botão "Dynamic Value" e você encontrará um novo mundo.

Imagem

Todas as sintaxes Faker.js são suportadas e você pode selecionar qualquer uma delas diretamente. Você pode até selecionar uma função para alterar o valor simulado, como md5, substr ou base64 etc.
Em seguida, será inserido no corpo da solicitação, assim.

Imagem

Você pode decidir qual campo é fixo e qual é simulado pelo Faker.js. Ao enviar, todos os campos faker mudarão para os dados reais abaixo.

Imagem

É isso. E muda cada vez que envia.

O Apidog é uma ótima ferramenta que faz nosso time construir APIs mais rapidamente. Eu gosto.

Baixe o Apidog aqui.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more