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:

  1. Docker instalado;
  2. 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 comando curl é 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.