Comandos abrangentes do cliente HTTP TUI Posting e workflows para teste de API no terminal.
| Comando | Descrição |
|---|
uv tool install posting | Instalar Posting via uv (recomendado) |
pipx install posting | Instalar Posting via pipx |
brew install posting | Instalar Posting via Homebrew (macOS) |
posting --version | Mostrar versão do Posting |
posting | Iniciar TUI Posting |
posting --collection ./my-api | Iniciar com diretório de coleção específica |
posting --env .env.dev | Iniciar com arquivo de ambiente |
| Atalho | Descrição |
|---|
Tab | Alternar foco entre painéis |
Shift + Tab | Alternar foco para trás |
Ctrl + J | Modo de salto (saltar para qualquer painel por rótulo) |
Ctrl + P | Abrir paleta de comandos |
Ctrl + Q | Sair do Posting |
j / k | Mover para baixo/cima em listas (modo Vim) |
g / G | Saltar para topo/final da lista |
Escape | Fechar diálogo ou desselecionar |
| Atalho | Descrição |
|---|
Ctrl + N | Criar nova requisição |
Ctrl + S | Salvar requisição atual |
Ctrl + Shift + S | Salvar requisição como novo arquivo |
Ctrl + D | Duplicar requisição atual |
Ctrl + Delete | Deletar requisição atual |
Ctrl + R | Renomear requisição atual |
Enter | Enviar requisição atual |
Ctrl + L | Focar barra de URL |
| Método | Descrição |
|---|
GET | Recuperar recurso |
POST | Criar recurso |
PUT | Atualizar/substituir recurso |
PATCH | Atualização parcial de recurso |
DELETE | Deletar recurso |
HEAD | Obter apenas headers |
OPTIONS | Obter métodos suportados |
| Aba | Descrição |
|---|
| Headers tab | Adicionar/editar headers da requisição |
| Body tab | Definir conteúdo do corpo da requisição |
| Query tab | Adicionar parâmetros de query de URL |
| Auth tab | Configurar autenticação |
| Options tab | Definir opções específicas da requisição |
| Scripts tab | Scripts Python pré/pós requisição |
| Ação | Descrição |
|---|
$VARIABLE_NAME em URL | Referenciar variável de ambiente |
${VARIABLE_NAME} em body | Interpolar variável em corpo |
posting --env .env.dev | Carregar arquivo de ambiente na inicialização |
Arquivo .env na raiz da coleção | Auto-carregado |
Arquivo .env.local override | Overrides locais (gitignored) |
| Campo | Descrição |
|---|
name: My Request | Nome de exibição da requisição |
method: POST | Método HTTP |
url: https://api.example.com/users | URL alvo |
headers: | Mapeamento de headers da requisição |
body: | Conteúdo do corpo da requisição |
params: | Parâmetros de query |
auth: | Configuração de autenticação |
scripts: | Scripts pré/pós requisição |
name: Create User
description: Create a new user account
method: POST
url: https://api.example.com/users
headers:
Content-Type: application/json
Authorization: Bearer ${API_TOKEN}
body:
content: |
{
"name": "John Doe",
"email": "john@example.com"
}
| Tipo | Descrição |
|---|
| Bearer Token | Authorization: Bearer <token> |
| Basic Auth | Username:password codificado em Base64 |
| API Key | Header customizado com chave de API |
| No Auth | Sem autenticação |
| Hook | Descrição |
|---|
pre_request.py | Script Python executado antes da requisição |
post_request.py | Script Python executado após a resposta |
Acessar objeto request | Modificar requisição em pré-script |
Acessar objeto response | Processar resposta em pós-script |
| Definir variáveis | Armazenar valores para requisições subsequentes |
| Recurso | Descrição |
|---|
| Body tab | Ver corpo da resposta com syntax highlighting |
| Headers tab | Ver headers da resposta |
| Exibição de código de status | Código e texto de status HTTP |
| Tempo de resposta | Duração da requisição em milissegundos |
| Tamanho de resposta | Tamanho do corpo da resposta |
Ctrl + F | Pesquisar dentro do corpo da resposta |
| Ação | Descrição |
|---|
| Estrutura de diretório = Coleção | Hierarquia de pastas organiza requisições |
| Criar subdiretório | Agrupar requisições relacionadas |
Arquivos .yaml = Requisições | Cada arquivo YAML é uma requisição |
posting --collection <dir> | Abrir coleção específica |
| Controle de versão com Git | Arquivos YAML são amigáveis ao git |
| Ação | Descrição |
|---|
| Colar comando curl na barra de URL | Importar do curl |
Ctrl + E | Exportar requisição atual como curl |
| Importar do Postman | Importar coleções Postman |
| Importar do OpenAPI | Importar specs OpenAPI/Swagger |
| Arquivos YAML são portáteis | Compartilhar requisições via arquivos |
| Configuração | Descrição |
|---|
~/.config/posting/config.yaml | Arquivo de configuração global |
theme: monokai | Definir tema de cor |
vim_mode: true | Ativar keybindings Vim |
editor: nvim | Definir editor externo |
pager: less | Definir pager externo |
timeout: 30 | Timeout de requisição padrão (segundos) |
| Comando | Descrição |
|---|
posting --theme monokai | Iniciar com tema Monokai |
posting --theme dracula | Iniciar com tema Dracula |
posting --theme solarized | Iniciar com tema Solarized |
| Tema customizado em config | Definir esquema de cores próprio |
posting --list-themes | Mostrar temas disponíveis |
| Dica | Descrição |
|---|
Usar modo de salto (Ctrl+J) | Navegar mais rápido que tabulação |
| Armazenar requisições em Git | Controle de versão de testes de API |
| Usar arquivos de ambiente | Alternar entre dev/staging/prod |
| Escrever pré/pós scripts | Automatizar refresh de token de autenticação |
Usar paleta de comandos Ctrl+P | Descobrir recursos rapidamente |
| Organizar em pastas | Agrupar endpoints relacionados |
| Usar variáveis em URLs | Manter requisições DRY e flexíveis |
Abrir em $EDITOR para corpos complexos | Editar payloads grandes externamente |