Iniciando com o POSTMAN

Atualmente no desenvolvimento de software temos que evoluir nossos produtos saindo do modelo monolítico, e caminharmos cada vez mais para o caminho dos micros serviços, onde são pequenos módulos do sistema espalhados e dinâmicos.

Neste cenário temos várias integrações entre os módulos e uma camada de cliente, sendo Mobile, Site ou um outro sistema. Normalmente para acesso a cada módulo é disponibilizado uma Application Programming Interface (API) que é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços disponibilizados.

Para ter uma melhor dinâmica e entendimento desta comunicação normalmente disponibilizamos uma API na qual ela é acompanhada de uma documentação de como é a camada de comunicação, e os respectivos dados necessários. Grande parte das documentações são disponibilizados nos padrões do swagger.io onde é um formato de documentação para API’s rest caso queria saber mais acesse este POST da MATERA: Clique aqui para acessar o post.

E com essa documentação, vem o POSTMAN, na qual, é possível realizar as requisições conforme as especificações, sem termos implementado ao menos uma linha de código, desta forma, auxiliando nos testes de  API’s disponibilizadas por terceiros, e para que possamos também realizar testes em nossas API’s para verificar se o comportamento dela está dentro do esperado inclusive é possível realizar exportações destes testes para incluirmos essa execução em software de integração contínua para garantirmos a maior qualidade das Api’s disponibilizadas.

Iniciaremos com o processo de instalação do POSTMAN, alguns questionamentos que podem aparecer no ato da instalação.

  • Preciso ter o Chrome para conseguir instalar?

Não atualmente o POSTMAN conta com instalações nativas para Mac, Windows e Linux, link onde é possivel realizar o download https://www.getpostman.com/

  • Qual a vantagem de instalar o POSTMAN nativo ao invés do complemento do Chrome?

Ele conta com recursos que não são disponíveis pelo complemento do Chrome:

  • Cookies – permitem que você trabalhe com cookies diretamente;
  • Built-in proxy – vêm com um proxy interno que você pode usar para capturar o tráfego da rede;
  • Menu bar – uma barra de menu mais completa, onde é possível criar coleções, alterar para o histórico de requisições entre outras funcionalidades;
  • Restricted headers – é possível enviar nos headers da requisição Origin e User-Agent personalizados;
  • POSTMAN Console – tem um console embutido, que permite exibir os detalhes do pedido de rede para chamadas de API.

Algumas destas vantagens como o POSTMAN console é disponível para o aplicativo/extensão do chrome porém para isso é necessário a instalação de um outro plugin, e ainda realizar configurações para liberação do console para aplicativos/complementos do chrome.

Após a instalação do POSTMAN a tela inicial/usabilidade do POSTMAN será mostrada como na Figura 1:

postman_tela_inicial

 Figura 1 – Tela Inicial Postman

Como realizar minha primeira operação, podemos observar na Figura 2:

postman_get

 Figura 2 – Menu de requisições

No campo GET, é possível mudar o tipo da requisição que será feita para a URL que será passada no campo posterior, tendo várias operações como POST, DELETE, PUT, OPTIONS, entre outras.

Antes do botão salvar no params, é possível informar parâmetros que serão passados no formato de requisições get sendo url?param1=valor1&param2=valor2, porém tendo um preenchimento mais amigável.

Abaixo temos 5 guias sendo elas:

  • Authorization : onde informamos o tipo de autenticação necessária e como será feita a obtenção desse token para que possa passar para a API
  • Headers : onde passamos todos os cabeçalhos da request, ele contém um auto-complete nas chaves.
  • Body: aqui colocamos o corpo da request, quando é uma requisição que tenha corpo como por exemplo um POST, informamos o tipo da informação e o seu corpo, caso seja XML, JSON, HTML,Text selecionar o tipo raw, que será acionado uma compo para que consiga passar o body corretamente.
  • Pre-request Script: São comandos em JS que serão executados, antes da requisição.
  • Tests: são validações para que realize teste na request do valor retornado e manipulação de dados.

 Ao final das abas temos 2 termos em laranja sendo eles:

  • Cookies – onde iremos manipular caso necessário o cookie da request
  • Code – onde o POSTMAN tem um gerador de código fonte em algumas linguagens referente a esta request que você está criando.

 Para criamos algumas requisições válidas vamos utilizar os exemplos que estão junto com a instalação do POSTMAN onde contém algumas requisições de exemplo para verificar o comportamento do software conforme Figura 3 :

postman_collection

 Figura 3 – Painel de requisições de exemplo POSTMAN

Para iniciarmos com o POSTMAN vamos usar a requisição “Request Headers” da própria coletânea do POSTMAN , e adicionarmos o nosso header, conforme Figura 4. postman_headers

 Figura 4 – Painel headers da requisição

A resposta do serviço do POSTMAN irá nos retornar um json com atributo headers, e tendo uma propriedade com nosso header e valor. Também é possível observar na parte superior da resposta uma barra onde contém todas as informações referente a este request, conforme Figura 5.postman_result_header

 Figura 5 – Response de exemplo da requisição header

Agora iremos fazer uma requisição “POST” utilizando o exemplo “POST Request”, nesta requisição iremos alterar na guia body, o corpo da requisição que desejamos enviar e avaliar o seu retorno, conforme Figura 6.postman_body

 Figura 6 – Painel de alteração do body da requisição

Na resposta, temo como foi enviado a informação para o serviço e depois uma propriedade com o tipo de dado da requisição e as informações enviadas, conforme Figura 6.postman_post_test

  Figura 7 – Response de exemplo da requisição de alteração do body

Com este post é possível, ter o conhecimento inicial do POSTMAN, e como fazer a comunicação dele com suas api’s ou de terceiros. Nos próximos post’s iremos nos aprofundar mais sobre essa ferramenta, criando collections, testes automáticos, e ainda iremos utilizarmos recursos npm para executar os testes em nossos serviços, assim podendo integrar em uma ferramenta de integração contínua.

 

Referências

[1] https://www.getpostman.com/

[2] http://swagger.io/

 

Por ARTHUR FRITZ SANTIAGO

Analista de Sistemas MATERANO, pós-graduado em Desenvolvimento de Aplicações para Dispositivos Móveis, pós-graduando em Desenvolvimento Webmobile e Gerenciamento de Projetos em TI. Atua no desenvolvimento de software desde 2009, entusiasta de novas tecnologias, sempre buscando compreender o seu uso no dia-dia. Tem por hobbies, programar soluções, criar engenhocas (IoT), e-sports e lazer.

Postado em: 17 de abril de 2017

Confira outros artigos do nosso blog

REST não é JSON

21 de agosto de 2017

Bruno Sofiato

[Webinar] Profile de aplicações Java com Oracle Mission Control e Flight Recorder

24 de julho de 2017

Danival Calegari

Criando Mocks de serviços REST com SoapUI

27 de junho de 2017

Monise Costa

JavaScript 6: diferença entre var, let e const

09 de maio de 2017

Otávio Felipe do Prado

Deixe seu comentário