Fazendo Requisições à APIs REST com cURL, json_pp e bat (ou batcat)

1. Introdução

Atualmente, existem diversas maneiras e ferramentas para se testar uma API RESTful, como exemplo podemos citar o famoso Postman

Mas se você, assim como eu, tem preferência por usar ferramentas mais leves e minimalistas ou se sente mais produtivo realizando algumas tarefas por meio do terminal, apresentarei para você nesse post o cURL.

Para poder testar os exemplos que irei demostrar, você precisará de uma aplicação web em execução que seja capaz de responder a requisições HTTP com alguns dos verbos GET / POST / PATCH / DELETE. Também será necessário ter instalado o por razões obvias o curl. Para formatar as saídas do curl usaremos o json_pp e o bat (uma alternativa ao cat, em alguns repositórios o nome do pacote para instalação pode estar como batcat)


2. Instalação:

Linux Ubuntu/Debian:

$ sudo apt install curl perl batcat -y 


MacOS:

$ brew install curl jsonpp bat -y 


3. Formatando a saída

Para o exemplo que irei demonstrar aqui, fiz um simples CRUD usando o scaffold do Ruby on Rails, gerando uma class Article com os atributos title:string, content:text e published:boolean. Posteriormente inseri alguns dados do bando de dados da aplicação.

Com a aplicação em execução na porta 3000, podemos começar a testar as requisições com o curl.

$ curl http://localhost:3000/articles.json 

Por padrão, quando não informamos ao curl nada além da url de requisição, ele realiza uma requisição HTTP com o verbo GET. 

Observe também, na imagem abaixo, que o resultado impresso no terminal possui uma legibilidade ruim. Para corrigir isso, vamos pegar a saída do curl e passá-la para o json_pp.

$ curl http://localhost:3000/articles/2.json | json_pp

Requisitamos à nossa aplicação o post de id 2. Observe que agora temo uma resposta mais legível para, porém não temos nenhum formatação de syntax highligh. É nesse momento que entra o bat. Vamos repetir o comando, só que passando a saída do json_pp para o bat, devemos informar também ao bat qual a linguagem que ele deve formatar com parâmetro -l ou --language.

$ curl http://localhost:3000/articles/2.json | json_pp | bat --language json

Agora sim, temos um saída com uma legibilidade bem melhor.

Agora que vimos o básico de como fazer a requisição e formatar a saída, vamos ver como utilizar outros recursos do curl para fazer mais requisições a nossa pequena e simples API REST.


4. cURL: Protocolos

[ Post em construção... ]



Postar um comentário

Postagem Anterior Próxima Postagem