Como testar APIs utilizando Postman

Como testar APIs utilizando Postman

Neste artigo, abordaremos uma poderosa plataforma dedicada a criar e explorar APIs: o Postman. A partir de requisições HTTP e HTTPS, sobre as quais explicaremos um pouco mais na sequência, os usuários podem consumir APIs utilizando uma série de métodos, detalhados ao longo deste material.


HTTP e HTTPS

O HTTP e o HTTPS são protocolos destinados a realizar transferências de dados entre computadores e servidores por meio de hipertextos. O HyperText Transfer Protocol (HTTP) não é considerado seguro, pois as informações ficam vulneráveis ao serem compartilhadas a partir de textos simples sem nenhuma criptografia. Para tratar esse problema, foi criado o HyperText Transfer Protocol Secure (HTTPS), que possui uma camada de SSL/TLS para garantir maior segurança nas transferências.

O Secure Sockets Layer (SSL) permite a comunicação criptografada entre domínio e navegador. O Transport Layer Security (TLS) é a versão mais atualizada e segura do SSL.

O que é uma API?

Uma Application Programming Interface, ou seja, uma API, é um conjunto de ferramentas e padrões que permite a criação de softwares e a troca de informações entre sistemas de maneira otimizada. Diferentes empresas e usuários podem se conectar a uma API e consumir os dados ou utilizar suas soluções sem necessitar de conhecimento sobre o backend da aplicação, preocupando-se apenas na integração.

Para exemplificar, podemos considerar a API do Google Maps, que possui diversos recursos sobre rotas e destinos. Empresas que precisam mostrar endereços ou mapas em seus sites podem se integrar à API e mostrar as informações desejadas para seus usuários. É preciso comentar que, geralmente, existem custos associados ao uso destas soluções. Entretanto, para fins de teste e aprendizado, é possível explorar aplicações que possuem acessos gratuitos ou até mesmo criar uma API simples para que seja possível testar um maior número de métodos.

Para este artigo, utilizaremos uma API muito simples que criamos exclusivamente para este tutorial utilizando a linguagem de programação Python. O objetivo é que possamos testar os principais métodos, sendo eles: GET, POST, PUT, DELETE e o PATH, que se assemelha, de certa forma, ao PUT.

Postman

O Postman é uma plataforma dedicada a criar e explorar APIs. De acordo com o site oficial da solução, ele “simplifica cada etapa do ciclo de vida de uma API e agiliza a colaboração para que você possa criar APIs melhores com rapidez.”. Existe um espaço dedicado ao ensino sobre todos os usos da ferramenta chamado de Postman Learning Center, que você pode acessar aqui.

Neste espaço, estão tutoriais para instalar, enviar requisições, usar coleções, entre uma série de outras aplicações. No nosso tutorial, trataremos alguns destes temas.

Download e instalação

Para baixar e instalar a versão mais recente do Postman, acesse esta página e faça o download da plataforma para seu sistema operacional. Após baixar, faça a instalação em sua máquina clicando em abrir o software e seguindo os passos descritos em tela.

Workspace

Ao abrir o Postman, você terá acesso ao seu workspace, ou seja, ao seu espaço de trabalho no qual realizará todas as próximas etapas deste tutorial. No menu inicial, nesta aba, você pode criar diversos workspaces para separar seus ambientes conforme a necessidade. Esta é uma boa forma de se trabalhar quando se atua com soluções diferentes que envolvem configurações específicas.


Configuração de URL

Antes de selecionar o método a ser utilizado, sobre os quais falaremos a seguir, você precisa adicionar a rota a ser buscada ao realizar as requisições, ou seja, o endpoint que será acessado. Neste campo abaixo, você adiciona sua URL:

É preciso ter atenção à estrutura da URL, sendo ela dividida em segmentos, tais quais o exemplo abaixo.

É importante se atentar ao fato de que em algumas requisições será necessário indicar o caminho.

Parâmetros

Neste campo, pode adicionar os parâmetros necessários às suas requisições.

Autorização

Neste espaço, você pode adicionar informações relacionadas à autenticação para acesso à API. Nos tópicos seguintes, falaremos também sobre métodos de autenticação com o uso de certificados. Aqui, você pode selecionar qual tipo de autenticação você utilizará. É possível inserir, por exemplo, uma API Key. Certas APIs exigem a utilização de API Key para a liberação do acesso ao acervo de dados.

Headers

Neste campo, você insere informações que devem ser enviadas no cabeçalho da sua requisição.

Body

No campo body, você insere as informações que deseja enviar no corpo da requisição. Estes dados podem ser enviados com formatações. Em nosso tutorial, utilizaremos a seleção raw, pois enviaremos os dados no formato json.

Pre-request Script

Nesta configuração, você adiciona scripts que devem ser executados antes da sua requisição.

Tests

Em tests, são adicionados scripts a serem executados durante a solicitação.

Autenticação com certificado

Algumas APIs solicitam a configuração de certificados e chaves para acesso aos dados. Não é o caso da solução que utilizaremos neste tutorial, mas você pode configurar estas informações conforme as indicações abaixo.

Configurando um certificado

  • Na lateral superior direita, clique na engrenagem das configurações.
  • Vá em settings:



  • Selecione certificates.

  • Importe seus certificados.

Métodos

Os métodos de requisição indicam as ações a serem realizadas, sendo elas de consulta, inclusão, exclusão ou alteração. Existem diversos, mas, neste tutorial, exploraremos mais a fundo os cinco principais.

GET

O método GET é utilizado quando o objetivo é apenas realizar uma consulta em alguma informação, seja de forma completa ou segmentada. Ao realizarmos um /products em nossa API de teste, são retornados todos os valores:


Além disto, podemos pesquisar por apenas um id, retornando os valores correspondentes a apenas um produto, conforme demonstra a imagem abaixo. Neste exemplo, pesquisamos pelo id 3.


POST

Com o método POST, é possível adicionar um novo produto. Quando desejamos adicionar um novo elemento, precisamos inserir as informações no Body da requisição. Um detalhe importante é que selecionamos o formato raw, pois os dados estão sendo enviados no formato .json.


Ao realizarmos um GET com o id 6, que foi enviado na requisição, podemos notar que o novo produto foi adicionado à lista.


PUT

É possível também alterar um produto já enviado. Vamos supor que cadastramos o produto “porta retrato” com o nome e o preço incorretos e precisamos fazer a atualização, mudando para “porta retrato de formatura”, com o valor de 40 reais.

Alterando o método para PUT, inserimos as informações da mesma forma as quais foram inseridas no método anterior, alterando pelos dados corretos.

Agora, ao consultarmos com o método GET, podemos reparar que as informações foram atualizadas.


PATH

O método PATH é muito parecido com o PUT, pois ambos realizam atualizações nos registros. A principal diferença está na carga de dados a ser atualizada. O PATH é indicado para alterações parciais, enquanto que o PUT é utilizado em atualizações totais dos dados.

Caso seja necessário alterar somente o preço do “porta retrato de formatura”, podemos utilizar o método PATH, conforme a imagem abaixo. Repare que enviamos o id na URL e apenas o dado que queremos atualizar.

Ao realizarmos uma consulta com o GET, podemos reparar que o valor foi atualizado conforme o esperado.


DELETE

O método DELETE possibilita remover um dado completo da base. Neste caso, informaremos o id 6 e excluiremos todos os dados referentes ao produto que inserimos anteriormente.

Ao pesquisarmos na base de dados, note que o produto de id 6 já não existe mais.


Outros métodos existentes

Existem outros métodos que também podem ser úteis nos seus projetos, mas são menos utilizados na rotina, tais como:

  • HEAD: este método não retorna o corpo da resposta, somente o cabeçalho.
  • OPTIONS: com este método, você pode verificar informações referentes ao servidor e também os métodos permitidos pelos endpoints.
  • TRACE: reenvia a última requisição e retorna informando se háalterações por servidores ao longo do caminho.
  • CONNECT: conecta a API a algum proxy, que atua em favor da privacidade do usuário como intermediário entre o client e o servidor.


Criando collections

Uma collection nada mais é do que um conjunto de requisições pré-formatadas agrupadas. Você pode criar uma coleção de acesso a sua API reunindo os métodos GET, POST, PUT e DELETE, por exemplo, já com as informações de URL, head e body. As collections agilizam a rotina, pois o acesso fica muito mais rápido ao não precisar construir toda a vez a requisição completa.

Como eu posso testar?

A API criada para este tutorial funciona de maneira bem simples e pode ser acessada neste repositório https://github.com/Tatschfer/python_api. Contudo, você também pode testar principalmente o método GET utilizando outras APIs, tais como:

  • PokéAPI: uma API RESTful que reúne uma série de pokémons e suas características para que você possa consumir e criar sua própria pokédex.
  • OMDb API: uma API RESTful para você obter informações sobre filmes, com conteúdo em texto e imagem.
  • NASA APIs: APIs da Nasa para você consumir e mostrar em seu site imagens incríveis e outras informações sobre o universo.
  • Fixer: obtenha informações sobre taxas de câmbio e exiba em suas páginas.


Neste tutorial, você aprendeu como acessar alguns dos principais recursos do Postman para realizar consultas, inserir, alterar e excluir informações em APIs por meio de requisições.

Esta plataforma possui uma série de outras funcionalidades que serão muito úteis na sua rotina, portanto, vale a pena dedicar um tempo para aprender mais e explorar!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.