Usando Insomnia para testar as requisições de nossas APIs

27 de julho de 2022
Ronaldo B.

Criar APIs é uma tendência que está aumentando cada vez mais. Desenvolver nosso servidor para disponibilizar as informações e recursos de nosso sistema para vários ambientes nos ajuda a deixar nossos projetos ainda mais organizados. Contudo, para desenvolver uma API, é necessário testar o código criado. Em algumas situações, isso pode ser um problema.

Quando estamos listando dados, podemos acessar nossa API diretamente pelo navegador, pelo lado do cliente. Mas, se precisarmos testar a criação de um novo registro por meio do método POST ou a exclusão de um dado por meio do método DELETE, podemos notar algumas dificuldades. Como podemos fazer esses testes?

Você já criou uma tag HTML de formulário para testar o envio de dados para um servidor? Isso pode ser bem cansativo e não muito produtivo, não é mesmo? Para resolver essas questões, temos à nossa disposição ferramentas que nos ajudam nos testes de APIs REST. Uma dessas ferramenta é o Insomnia. Ele é muito simples, mas muito poderoso.

Neste artigo iremos realizar sua instalação e o veremos como utilizá-lo testar uma API, junto com recursos adicionais.

Instalação

O site oficial do Insomnia é o insomnia.rest.

Iremos baixar a versão “Insomnia Core”, voltada para os testes de APIs. Iremos fazer uso da página de downloads.

Mac

Para instalar o Insomnia no Mac, podemos usar o Homebrew:

brew cask install insomnia

Linux

Podemos realizar a instalação no Linux por meio do APT:

sudo apt-get update
sudo apt-get install insomnia

Windows

Podemos usar o Chocolatey para instalar o Insomnia no Windows. Para isso usamos o seguinte comando:

choco install insomnia-rest-api-client

Se desejar realizar a instalação pela maneira convencional, poderá selecionar o arquivo .exe e fazer seu download. Ao executá-lo, o Insomnia será instalado e iniciado no computador.

Testando uma API

Vamos testar uma API de cidades, escrita JavaScript, que estará disponível em nosso servidor local (localhost), na porta 3000. Vamos testar as rotas de CRUD dessas cidades.

Listando as Cidades

Para realizar nossa primeira requisição, vamos pressionar o botão com um símbolo de mais (+) e então clicar em “New Request”

Opção de nova requisição no Insomnia

Precisamos dar um nome para a nossa requisição. Podemos informar o nome que desejarmos. Em nosso caso, vamos chamá-la de “API LIST”:

Opção de dar um nome para nossa requisição

O painel à nossa direita será aberto. Nele, poderemos informar a URL da nossa API na parte superior, ao lado do método, que neste caso é “GET”. A URL de nossa API para listar as cidades é http://localhost:3000/cities:

Área para informar a URL de nossa requisição

Após informar o endereço da API, basta clicar em “Send”. Em seguida, o painel mais à direita nos retornará os dados:

Área de retorno de nossos dados

Excelente! Nossos dados foram retornados corretamente. Talvez pensemos: “Isso é bom, mas eu poderia ter esse mesmo resultado acessando a API pelo navegador.” Isso é verdade. Contudo, usando o Insomnia podemos deixar nossos testes bem organizados e ainda mais eficientes. Além disso, ao analisar o próximo método, iremos ver algumas outras vantagens em usar o Insomnia que são simplesmente indispensáveis.

Criando uma Cidade

O próximo método HTTP que iremos testar é o POST. Para isso, vamos repetir o processo de clicar no botão de nova requisição e então informar um nome para ela. Neste caso, daremos o nome “API CREATE”. Além disso, nessa mesma janela iremos mudar o método para “POST” e escolheremos como corpo de nossa requisição a opção “Form URL Encoded”.

Criando requisição POST no Insomnia

A URL será a mesma, apenas mudará o método da requisição. Além disso, teremos a opção de informar os campos que queremos enviar para a API. Como escolhemos a opção de campos de formulário, essa parte envolverá dados com um identificador e um valor:

Informando dados para a requisição

Ao clicar em “Send”, veremos o seguinte resultado no painel à direita:

Resultado de nossa requisição

Nossos dados foram inseridos, muito bom! Imagine fazer esse teste criando um formulário HTML. Daria muito mais trabalho. Com o Insomnia ficou muito mais simples, não é mesmo?

Editando uma cidade

O próximo método que iremos testar é o PUT. Ele é usado para atualizar todas as informações de uma cidade específica. Outra opção seria o método PATCH, que é usado para atualizar apenas parte do registro, e não ele como um todo.

Para utilizar o método PUT, iremos repetir o processo seguido antes com o POST, mudando apenas o nome da requisição para “API UPDATE”. Também iremos usar o corpo de formulário nessa requisição:

Criando requisição de update

A URL conterá o ID da cidade que queremos alterar e também poderemos enviar os dados para essa atualização:

Informando dados para a requisição

Veremos o seguinte resultado ao enviar a requisição:

Resultado de nossa requisição de update

Agora nossos dados foram atualizados.

Excluindo uma Cidade

O último método que iremos testar é o método DELETE. Iremos informar o nome “API DELETE” para essa requisição:

Criando requisição de exclusão

Essa requisição não possuirá corpo. Informaremos apenas o ID da cidade que queremos excluir. No caso deste exemplo, iremos excluir o registro com ID 2, que será informado na URL:

Chamando a URL de exclusão

Após enviar a requisição, vemos o seguinte resultado:

Resultado de nossa requisição de exclusão

Vemos que essa rota também está funcionando e percebemos como é simples realizar o teste de nossa API com o Insomnia. Contudo, há algumas funcionalidades adicionais que podem facilitar ainda mais nosso trabalho.

Algumas melhorias em nossos testes

Variáveis de Ambiente

Usamos o servidor http://localhost:3000 como base para nossos testes. Contudo, imagine que precisássemos mudar o endereço desse servidor para realizar novos testes. Ou se precisássemos testar a nossa API em produção. Neste caso, precisaríamos alterar o endereço deste servidor em todas as requisições que já criamos. Isso poderia gerar um trabalho bem repetitivo e cansativo, não é mesmo?

Para facilitar esse processo, o Insomnia possui variáveis de ambiente, que podem ser reutilizadas. Para acessá-las, basta clicar em “No Environment” > “Manage Environments” abaixo do menu principal do Insomnia:

Opção de variáveis de ambiente no Insomnia

Uma nova janela será aberta. Nela podemos ver uma área para adicionar um código JSON. Nele podemos definir nossas variáveis de ambiente. Por exemplo, vamos definir que a nossa URL base será o localhost. Usaremos o seguinte código para isso:

{
	"hcode_url": "http://localhost:3000"
}
Variável de ambiente para nossa URL

O próximo passo é substituir a string http://localhost:3000 pela variável hcode_url em nossas requisições. Para isso, basta digitar o nome da variável e o próprio Insomnia irá sugeri-la nas requisições:

Substituindo a string estática por uma variável

Na imagem acima nós adicionamos a variável à rota GET, mas podemos fazer isso em todas as requisições. Agora, se precisarmos mudar a base de nossa API, basta alterar essa informação em um único local e essa mudança refletirá em todas as requisições.

Pastas

Outro recurso do Insomnia são as pastas. Elas permitem que agrupemos nossas requisições em “namespaces”, evitando que os nossos testes fiquem desorganizados conforme forem aumentando.

Para criar uma pasta basta clicar no botão com símbolo de mais (+) e então selecionar “New Folder”:

Opção de criar uma nova pasta

Daremos o nome “DEV” para essa pasta, visto que as requisições que criamos são voltadas para o desenvolvimento:

Criando uma nova pasta

Agora, basta arrastar as requisições que criamos para dentro dessa pasta:

Requisições dentro da pasta DEV

Agora sim, bem mais organizado. Dessa forma, se precisarmos criar requisições específicas para a produção, ou para outros projetos, elas não entrarão em conflito com as requisições de desenvolvimento.

Neste artigo tivemos uma introdução ao Insomnia. Vimos como ele é simples de instalar e usar, mas como também nos traz vários recursos para facilitar nossos testes de servidores baseados em REST. Esperamos que tenha gostado deste artigo e que possa usar o Insomnia no desenvolvimento de suas aplicações Web.

Aproveitando o momento, convidamos você a conhecer os cursos da Hcode. Se você deseja se destacar no mundo digital, aprimorar suas habilidades de programação, desenvolvimento web ou criar suas próprias aplicações e sites, nossos cursos são a escolha perfeita. Acesse: www.hcode.com.br/cursos e descubra como dar um impulso na sua carreira com o conhecimento e expertise que nossos instrutores qualificados podem oferecer. Não perca a oportunidade de se tornar um especialista com a Hcode!

Nos vemos no próximo artigo :)

Hcode: Utilizamos cookies para a personalização de anúncios e experiências de navegação dentro de nosso site. Ao continuar navegando, você concorda com as nossas Política de Privacidade.