Polo: Alternativa ao Postman e Insomnia
Polo é um cliente REST open-source focado em APIs JSON que faz menos coisas e que roda no browser. Ele está disponível em https://github.com/mssantos/polo. Neste post, falarei mais sobre como ele funciona.
Objetivo e requisitos
O objetivo do Polo é ser mais simples do que as alternativas, seja no desenvolvimento, na instalação ou no número de funcionalidades. Você decide se quer usá-lo localmente, na nuvem, ou num servidor privado. Ele também é agnóstico quanto a sistemas operacionais, precisando apenas de:
- Docker instalado;
- Um navegador moderno.
A escolha da sua stack de desenvolvimento também foca nisso. Ele é construído com Elixir e Phoenix, além de fazer uso pesado do Phoenix LiveView. Esse combo é muito produtivo para desenvolvedores indie como este que vos escreve, fornecendo a infraestrutura necessária para focar no que importa, numa vibe Ruby on Rails funcional. Também há toques de JavaScript para funcionalidades específicas.
O que ele faz?
-
Dá suporte a todos os metodos HTTP, query params, request body, e headers customizados: Na interface da aplicação , você pode escolher o método HTTP, adicionar parâmetros a URL ou ao corpo da request, além de adicionar headers customizados;
-
Gerencia coleções de requests de forma ilimitada: Polo usa a estrutura de pastas do sistema e arquivos markdown para criar, gerenciar, documentar e compartilhar suas coleções. Também não há limite para o número de coleções que você pode ter. Por exemplo, um caso de uso é você ter um repositório no GitHub com as devidas APIs da sua empresa, o que permite o uso de boas práticas já conhecidas como Code Reviews e Pull Requests para garantir a qualidade, documentação e padrões delas;
-
Suporta cópia de suas requests para
curl
: O comandocurl
é universal, então nada mais justo você transformar suas requests e atributos para ele; -
Inspeciona a resposta da request e seus headers: De novo, o básico. Inspecione a resposta de suas requests e sua lista de headers de maneira simples;
-
Suporta cópia e download das respostas: Permite copiar a resposta para o clipboard, e também salva-la num arquivo.
-
Para mais detalhes, veja o README do projeto e como seu código funciona (em inglês).
O futuro
Para ser sincero, não há muito mais coisas novas para adicionar ao Polo. Ele não vai dar suporte a GraphQL ou WebSockets. Seu foco é em APIs JSON. Há algumas melhorias que devem ser feitas, como dar suporte ao uso de certificados nas coleções e também melhorias de código. No mais, ele está maduro o suficiente para fazer bem o simples.