APIs e Microsserviços

23 abr, 2018

Ganhando eficiência em suas APIs com o Postman

Publicidade

O Postman é um aplicativo com a função de testar e desenvolver APIs em uma interface bastante simples e intuitiva. Ele nos permite simular requisições HTTP de forma rápida, armazenando-as para que possamos usá-las posteriormente.

Além disso, para cada requisição feita, o Postman analisa as respostas enviadas pela API e as exibe visualmente de forma muito agradável e fácil de entender, o que reduz consideravelmente o tempo necessário para o desenvolvimento e testes de sua aplicação.

Sem contar que é possível passar as configurações de testes de uma API para a sua equipe toda. O aplicativo já é utilizado por mais de 5 milhões de desenvolvedores(as) e mais de 100.000 empresas para acessar 130.000.000 de APIs todos os meses. Ele possui alguns planos pagos, mas neste artigo focaremos no plano gratuito.

Instalação

A instalação pode ser feita de duas formas:

  • Instalação nativa no seu computador
  • Extensão do Google Chrome

Para instalar o aplicativo direto no seu computador em qualquer sistema operacional (Windows, Linux ou Mac), basta fazer o download direto do site do Postman.

Após realizar a instalação de uma das duas formas citadas acima, a tela inicial do Postman é a seguinte:

O processo de simular requisições é muito simples. Basta escolher o tipo de requisição (GET, POST, PUT, PATCH, etc), como mostra a seguir:

E depois informar a URL e clicar no botão Send.

Se a requisição tiver parâmetros é possível informar na URL, ou clicar com no botão Params e informar os valores nos campos key e value, como por exemplo:

url?param1=valor1&param2=valor2.

Abaixo desses campos temos as guias com as funções:

  • Authorization: onde será possível informar o tipo de autenticação necessária e definir métodos.
  • Headers: onde é passado os Headers (cabeçalhos) da requisição, principalmente usado para passar o token de autenticação. Basta somente informar os campos key e value.

  • Body: onde é colocado o Body (corpo) da requisição. Essa aba somente é habilitada quando é usado tipos de requisições que permitem o envio de corpo, como por exemplo: o POST. O editor suporta os mais comuns formatos de encoding e a opção raw envia qualquer tipo de conteúdo, podendo escolher manualmente o content-type, como por exemplo o JSON, que serve para enviar objetos do tipo JSON.

Perceba que se você digitar algo que não seja formato JSON, ele já indica que existe problemas de sintaxe.

  • Pre-request Script: são os scripts JavaScript para fins de teste que serão executados antes da requisição.
  • Tests: onde é possível realizar validações e testes na request do valor retornado.

Criando uma API Node.js e testando no Postman

Agora que já foi explicado o que é o Postman e suas funções, vamos criar uma aplicação node.js, e em seguida testá-la no Postman.

Primeiro passo é criar um projeto node.js através do comando abaixo:

npm init

O exemplo que iremos criar terá a seguinte estrutura:

Depois de criar a estrutura do projeto, baixe os pacotes: express e body-parser dentro da pasta raiz do projeto:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();

const port = 8000;

require('./app/routes')(app, {});
app.listen(port, () => {
  console.log('Online na porta ' + port);
});

Note que especificamos a porta 8000 para começar a ouvir os pedidos HTTP e colocamos um console para exibir no terminal quando o servidor estiver online. Repare também que estamos chamando a pasta routes que está dentro da pasta app. Vamos criar os arquivos dela a seguir.

No arquivo index.js dentro da pasta routes, teremos:

const textRoutes = require('./text_routes');

module.exports = function(app, db) {
  textRoutes(app, db);
};

Agora estamos chamando o arquivo text_routes.js que criaremos a seguir.

module.exports = function(app, db) {

  app.post('/text', (req, res) => {
    res.send('Hello Postman!')
  });
};

No código acima, quando o aplicativo recebe uma solicitação POST para a rota /text ele irá executar o código que está dentro do retorno de chamada passando um objeto de requisição (req) e um objeto de resposta (res). A resposta que vamos enviar é a frase “Hello Posman!”.

Pronto, acabamos de criar nossa aplicação, agora vamos executá-la e testá-la no Postman.

Para executar o projeto no terminal, digite o comando node server dentro da pasta raiz do projeto.

Perceba que conforme especificamos na nossa aplicação, ela está online na porta 8000. Agora vamos voltar para o Postman para testar nossa aplicação.

Escolha o tipo de requisição POST e coloque na URL o link: localhost:8000/text, e por fim clique em SEND.

Veja que o status da requisição é 200, ou seja, a requisição foi bem sucedida, e abaixo repare que retornou a nossa frase “Hello Postman!” que colocamos na nossa aplicação.

Outra funcionalidade bem interessante do Postman é a facilidade de criar um Server Mock. Um servidor mock tem a função de simular requisições sem precisar subir uma API em Node.js como fizemos acima. Se quiserem saber mais como funciona, escreva nos comentários que eu faço um artigo somente sobre Server Mock.

Veja o exemplo da API node.js que criamos no GitHub.

Leia também a documentação do Postman.