Testes de API no Android: um cliente completo de REST, GraphQL e WebSocket no seu bolso
Teste e depure APIs REST, WebSocket, GraphQL e SSE direto do seu celular Android. O PocketCode traz um cliente HTTP completo — autenticação, scripts, ambientes, mock server e geração de código — integrado à IDE.
Uma API quebra no pior momento possível: você está longe da sua mesa, o webhook não está disparando e o seu notebook com o Postman ficou em casa. No Android, a resposta de sempre é "espere até voltar". O PocketCode elimina essa espera — ele traz um cliente HTTP completo integrado à IDE, para que você teste e depure APIs REST pelo celular sem um segundo aplicativo nem uma única linha de código de amarração.
Isto não é um brinquedo limitado. É um cliente HTTP completo, de nível profissional, e ele fica bem ao lado do seu editor, do terminal e do gerenciador de banco de dados.
O que ele realmente faz
O API Tester fala quatro protocolos, selecionáveis a partir de um chip acima do editor:
| Protocolo | Para que serve |
|---|---|
| REST (HTTP) | O clássico cliente de requisição/resposta — 8 métodos |
| WebSocket | Conexões bidirecionais ao vivo (ws:// / wss://) |
| GraphQL | Queries, mutations, subscriptions + introspecção de schema |
| SSE | Fluxos de Server-Sent Events em tempo real |
Para REST, ele cobre todos os oito métodos HTTP — GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS e TRACE — cada um com uma cor própria, para que você identifique uma coleção num relance.
Montando uma requisição
O editor de requisições é organizado como uma barra de URL fixa mais um conjunto de seções recolhíveis, cada uma com sua própria cor de destaque:
- Barra de URL — seletor de método, um campo de URL em fonte monoespaçada e um botão Send que exibe um indicador de carregamento enquanto a requisição está em andamento.
- Params — um editor de chave/valor onde cada linha tem uma caixa de seleção para ativar/desativar e um selo com a contagem de itens ativos, para que você alterne os query params sem apagá-los.
- Headers — o mesmo editor de chave/valor, com autocompletar para headers comuns (Content-Type, Accept, Authorization, Cache-Control, User-Agent…).
- Body — dez tipos de corpo: JSON (com Beautify / Minify), Form URL-Encoded, Multipart (TEXT ou FILE por campo, com um seletor de arquivos), Raw, XML, HTML, JavaScript, Binary (enviar um arquivo bruto) e GraphQL.
Em qualquer lugar onde você pode digitar um valor — URL, headers, body, auth,
cookies — dá para inserir uma {{variable}} que é interpolada no momento do
envio (mais sobre isso adiante).
Autenticação, a lista completa
É aqui que os clientes de API para celular costumam deixar a desejar. O PocketCode oferece suporte a dez esquemas de autenticação, divididos em cards comuns e uma seção avançada:
- Comuns: None, Bearer (token + prefixo personalizado), Basic, API Key (com escolha entre Header ou Query Param).
- Avançados: OAuth2 (grants Authorization Code, Client Credentials, Password ou Implicit), Digest, AWS Signature v4 (access key, secret, region, service, session token), Hawk, NTLM e um header totalmente Custom.
Se você assina requisições contra a AWS ou acessa um endpoint corporativo NTLM, dá para fazer isso pelo celular — sem concessões.
Scripts e testes
Dois hooks em JavaScript rodam em torno de cada requisição:
- Um pre-request script roda antes do envio — transforme variáveis, calcule um timestamp, gere uma assinatura.
- Um test script roda depois da resposta, usando a amplamente adotada API de
asserções
pm.test,pm.expect,pm.response.
Há um menu de asserções prontas para que você não precise escrevê-las à mão: status is 200, status is 2xx, response time < 500 ms, has JSON body, body not empty, has Content-Type header, JSON schema validation, body contains string e array length > 0. Um painel de console abaixo do editor registra tudo nos níveis LOG / INFO / WARN / ERROR.
Lendo a resposta
O painel de resposta mostra no topo os números que importam — código de status (com uma cor por faixa), tempo total em milissegundos, tamanho do corpo e o protocolo negociado mais o IP remoto. Abaixo disso, abas:
| Aba | O que você obtém |
|---|---|
| Body | Pretty (JSON/XML/HTML formatado), Raw, Preview (HTML renderizado) e uma visão em árvore recolhível para JSON |
| Headers | Uma tabela fácil de copiar |
| Cookies | Linhas com selos Secure / HttpOnly |
| Timeline | DNS · TCP · TLS · TTFB · transferência de conteúdo |
| Tests | Resultados das asserções (nome, passou/falhou, duração) |
| Info | Metadados e a cadeia completa de redirecionamentos |
Você pode copiar o corpo, compartilhá-lo, salvá-lo ou buscar dentro dele com os trechos correspondentes destacados — prático numa tela pequena.
Além do REST
- As conexões WebSocket exibem um histórico em estilo de chat das mensagens SENT / RECEIVED, dão suporte a headers de handshake personalizados e subprotocolos, tratam frames TEXT / BINARY / PING / PONG / CLOSE e oferecem reconexão automática mais templates de mensagem salvos que você pode disparar de novo.
- O GraphQL tem um editor de query com variáveis JSON e um nome de operação opcional, um botão Fetch Schema que executa introspecção e um explorador de schema para tipos, campos e argumentos.
- Os fluxos SSE chegam a uma linha do tempo de eventos ao vivo (id, type,
data, timestamp, retry) com um filtro, reconexão automática que respeita o
retrydo servidor e rastreamento de Last-Event-ID para retomar o fluxo.
Mantendo tudo organizado
- As Collections são hierárquicas — coleção → pastas aninhadas → requisições — com busca, renomear/excluir e um toque para carregar qualquer requisição de volta no editor.
- O History guarda cada requisição que você executou, pesquisável por URL ou nome, filtrável por método ou "somente favoritas", e agrupado em Hoje / Ontem / Esta semana / Mais antigas. Favorite, reenvie ou exclua entradas individuais.
- Os Environments gerenciam conjuntos de
{{variable}}. Cada variável tem um valor inicial e um valor atual, uma descrição, um botão de ativação, uma flag isSecret que oculta o valor e um scope (Global / Environment / Collection / Local). A resolução segue Local → Collection → Environment → Global. - Um cookie jar persistente se preenche a partir de cada
Set-Cookiee exibe selos Secure / HttpOnly.
Ferramentas poderosas
- Importe de cURL, Postman v2.1, Insomnia, OpenAPI 3.0 / Swagger (JSON ou YAML) e HAR. A Exportação acrescenta Markdown a essa lista.
- O Code Generator transforma a requisição atual em código pronto para colar
em ~20 linguagens e clientes HTTP — cURL, HTTPie, Wget, Fetch, Axios, Node,
Python
requests, Java OkHttp, Swift URLSession, Gonet/http, PHP, Ruby, C#, Rust, Dart, PowerShell e mais — com imports, headers, body e auth incluídos. - Um Mock Server local (parte do plano Pro) sobe um servidor HTTP no
dispositivo (porta padrão 8090), onde cada rota define um método, um padrão de
caminho (
/users/:id), status, headers, body e um atraso simulado — com um log ao vivo das chamadas recebidas.
Seus dados ficam no dispositivo
Collections, history, environments e cookies são armazenados em um banco de dados local no seu celular — nunca guardamos suas requisições ou dados de conexão em nossos servidores. Para desenvolvimento, você pode desativar a verificação SSL para certificados autoassinados, rotear por um proxy HTTP/HTTPS/SOCKS ou anexar um certificado de cliente. E, como faz parte da IDE, o assistente de IA consegue até enxergar suas coleções quando você lhe pergunta sobre suas APIs.
Testar uma API costumava significar "volte para o computador". Não mais. O PocketCode coloca um cliente HTTP profissional — REST, WebSocket, GraphQL e SSE — no mesmo aplicativo em que você escreve e publica o código.
O PocketCode está a caminho da Google Play. Participe da pré-inscrição para estar entre os primeiros a experimentá-lo no seu próprio dispositivo.
API Tester
Respostas rápidas sobre isso
Pronto para experimentar o PocketCode?
Baixe o app e comece a programar pelo seu celular.