Pular para o conteúdo
Voltar ao início
Voltar ao blog
Tutorial

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.

7 min
Por Pelayo Naredo
Testes de API no Android: um cliente completo de REST, GraphQL e WebSocket no seu bolso

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:

ProtocoloPara que serve
REST (HTTP)O clássico cliente de requisição/resposta — 8 métodos
WebSocketConexões bidirecionais ao vivo (ws:// / wss://)
GraphQLQueries, mutations, subscriptions + introspecção de schema
SSEFluxos 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:

AbaO que você obtém
BodyPretty (JSON/XML/HTML formatado), Raw, Preview (HTML renderizado) e uma visão em árvore recolhível para JSON
HeadersUma tabela fácil de copiar
CookiesLinhas com selos Secure / HttpOnly
TimelineDNS · TCP · TLS · TTFB · transferência de conteúdo
TestsResultados das asserções (nome, passou/falhou, duração)
InfoMetadados 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 retry do 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-Cookie e 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, Go net/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.

A ferramenta por trás deste artigo

API Tester

Respostas rápidas sobre isso

Pronto para experimentar o PocketCode?

Baixe o app e comece a programar pelo seu celular.