Skip to content

emiscode/api-client-rust

Repository files navigation

API Client

Cliente HTTP desktop simples (estilo Insomnia/Postman) construído com Tauri 2.x + Vanilla JavaScript + Vite.

Screenshot 2025-11-09 at 08 12 15

🚀 Funcionalidades

  • ✅ Fazer requisições HTTP (GET, POST, PUT, PATCH, DELETE)
  • ✅ Adicionar headers personalizados
  • ✅ Enviar body JSON, Raw Text ou Form Data
  • ✅ Adicionar query parameters
  • ✅ Visualizar resposta formatada com status code colorido
  • ✅ Ver headers e resposta raw
  • ✅ Salvar e carregar requisições
  • ✅ Histórico de requisições
  • ✅ Interface dark mode moderna e intuitiva

📋 Pré-requisitos

  • Node.js (v16 ou superior)
  • Rust (instalado automaticamente pelo Tauri se necessário)
  • Sistema de build do Rust (instalado automaticamente)

🛠️ Instalação

  1. Clone ou baixe este repositório

  2. Instale as dependências:

npm install

🏃 Executar em Desenvolvimento

IMPORTANTE: Use o script start-dev.sh que inicia tudo automaticamente

npm run tauri:dev

OU execute diretamente:

./start-dev.sh

Este script automaticamente:

  1. ✅ Verifica e libera a porta 1420 se necessário
  2. ✅ Inicia o servidor Vite na porta 1420
  3. ✅ Aguarda o Vite estar pronto
  4. ✅ Inicia o Tauri
  5. ✅ Encerra o Vite quando você fechar o Tauri

Se ainda tiver problemas, use terminais separados:

# Terminal 1: Servidor Vite (deixe rodando)
npm run dev

# Terminal 2: Tauri (em outro terminal)
npm run tauri dev

📦 Build para Produção

npm run tauri:build

O executável estará em src-tauri/target/release/

Nota: O build primeiro compila o frontend com Vite (gera a pasta dist/) e depois compila o Tauri.

📖 Como Usar

Fazer uma Requisição

  1. Selecione o método HTTP (GET, POST, etc.)
  2. Digite a URL
  3. Configure headers, body e query params nas abas correspondentes
  4. Clique em "Send"
  5. Visualize a resposta nas abas Body, Headers ou Raw

Salvar uma Requisição

  1. Configure sua requisição
  2. Clique no botão 💾 na sidebar
  3. Digite um nome para a requisição
  4. Clique em "Save"

Carregar uma Requisição Salva

  1. Clique em uma requisição na lista "Saved" na sidebar
  2. Todos os campos serão preenchidos automaticamente

Ver Histórico

  1. Clique na aba "History" na sidebar
  2. Veja as últimas 50 requisições executadas
  3. Clique em uma para recarregar na interface

🗂️ Estrutura do Projeto

api-client/
├── src/                    # Frontend (HTML/CSS/JS)
│   ├── index.html
│   ├── styles.css
│   ├── main.js
│   ├── components/         # Módulos JavaScript
│   │   ├── request.js
│   │   ├── response.js
│   │   ├── collections.js
│   │   └── history.js
│   └── utils/
│       ├── storage.js
│       └── helpers.js
├── src-tauri/              # Backend Rust
│   ├── Cargo.toml
│   ├── tauri.conf.json
│   ├── capabilities/       # Permissões do Tauri
│   └── src/
│       └── main.rs
├── dist/                   # Build do frontend (gerado)
├── vite.config.js          # Configuração do Vite
└── package.json

💾 Persistência

As coleções e histórico são salvos em arquivos JSON no diretório de dados do aplicativo:

  • Windows: %APPDATA%\api-client\
  • macOS: ~/Library/Application Support/api-client/
  • Linux: ~/.local/share/api-client/

🎨 Interface

  • Tema: Dark mode
  • Cores:
    • Background: #1e1e1e
    • Cards: #252526
    • Accent: #007acc (azul)
    • Success: #4caf50 (verde)
    • Error: #f44336 (vermelho)

🔧 Tecnologias

  • Tauri 2.x: Framework para aplicações desktop
  • Vite: Bundler e dev server
  • Vanilla JavaScript: Sem frameworks, JavaScript puro
  • Rust: Backend gerenciado pelo Tauri

📝 Notas

  • Timeout padrão: 30 segundos
  • Histórico limitado a 50 requisições
  • Validação automática de JSON no body
  • URLs sem protocolo recebem https:// automaticamente
  • Produção: Usa Vite para bundling e otimização

🐛 Problemas Conhecidos

Nenhum no momento. Se encontrar algum problema, verifique:

  1. Se todas as dependências foram instaladas
  2. Se o Rust está instalado corretamente
  3. Se há erros no console do navegador (F12)

📄 Licença

Este projeto é open source e está disponível para uso livre.


Versão: 1.0.0
Data: 2025-01-06

About

API Client RUST

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published