Insomnia — apa itu, klien REST dan GraphQL dalam pengembangan

Penulis: IT Sectr Diterbitkan: 2026-05-08 Waktu membaca: 8 mnt

Insomnia — klien HTTP desktop sumber terbuka untuk menguji API REST, GraphQL, dan WebSocket. Alat ini menonjol dengan antarmuka minimalis, editor permintaan bawaan, dan dukungan variabel lingkungan tanpa perlu registrasi. Menurut Insomnia Documentation (2026), klien ini mendukung pembuatan kode otomatis dalam lebih dari 20 bahasa pemrograman.

Poin Utama

  • Insomnia — klien REST dan GraphQL gratis yang berfokus pada performa dan kerja lokal tanpa sinkronisasi cloud.
  • Lingkungan di Insomnia mendukung penumpukan dan pewarisan variabel melalui file JSON dengan penyorotan sintaks.
  • Editor GraphQL mencakup pelengkapan otomatis skema, dokumentasi tipe, dan pembuatan permintaan secara visual melalui tab GraphQL.
  • Code Generation mengonversi permintaan menjadi kode dalam cURL, Python, JavaScript, Kotlin, Swift, Rust, dan bahasa lainnya.
  • Sistem plugin memperluas fungsionalitas melalui plugin pihak ketiga untuk penandaan, ekspor, dan pembuatan data.

Apa itu Insomnia dan fitur-fitur utamanya

Insomnia — aplikasi lintas platform (Electron) untuk mengirim permintaan HTTP dan debugging API. Dikembangkan oleh perusahaan Kong sejak 2016 sebagai alternatif Postman dengan fokus pada kecepatan kerja dan privasi: data disimpan secara lokal, sinkronisasi cloud bersifat opsional dan memerlukan registrasi.

Antarmuka dan navigasi

Jendela utama dibagi menjadi tiga kolom: di kiri — pohon permintaan (Workspace), di tengah — editor permintaan dengan tab Params, Headers, Body, di kanan — panel respons dengan mode Pretty, Raw, dan Preview. Tema gelap aktif secara default, tema khusus didukung melalui variabel CSS.

Pembuatan kode

Insomnia mendukung ekspor permintaan ke kode dalam lebih dari 20 bahasa dan framework: cURL, HTTPie, Python Requests, JavaScript Fetch/Axios, Kotlin OkHttp, Swift URLSession, Java Unirest, Ruby Net::HTTP, dan lainnya. Generator memperhitungkan header, body permintaan, dan jenis autentikasi, sehingga mempercepat integrasi API ke dalam kode aplikasi.

Insomnia vs Postman: perbandingan klien API

Insomnia dan Postman menyelesaikan tugas yang sama, tetapi dengan prioritas berbeda. Insomnia lebih ringan (~80 MB dibanding ~300 MB), lebih cepat dimulai, dan bekerja sepenuhnya offline tanpa memaksa registrasi. Postman menawarkan ekosistem yang lebih matang dengan monitoring, server mock, dan workspace tim.

KriteriaInsomniaPostman
Berat aplikasi~80 MB~300 MB
Mode offlinePenuhTerbatas
GraphQLEditor bawaanVersi beta
CLIInso CLINewman
PluginPlugin HubEkstensi

Memilih alat yang sesuai dengan tugas

Untuk pengembangan individu dan pengujian endpoint yang cepat, Insomnia lebih nyaman berkat ringannya dan tanpa registrasi. Untuk kerja tim dengan koleksi bersama, integrasi CI/CD, dan monitoring API produksi, Postman tetap menjadi standar industri.

Pengorganisasian ruang kerja dan lingkungan

Workspace di Insomnia berisi pohon permintaan, dibagi menjadi folder. Setiap permintaan dapat berjenis HTTP, GraphQL, WebSocket, atau gRPC. Penyeretan, duplikasi, dan pengelompokan permintaan berdasarkan label warna didukung. File konfigurasi workspace disimpan dalam format JSON.

Variabel lingkungan dengan pewarisan

Insomnia mendukung lingkungan bertingkat (Sub Environments) yang mewarisi variabel induk. Ini memungkinkan mendefinisikan URL dasar di lingkungan global dan menimpa hanya parameter yang berbeda untuk berbagai lingkungan. Variabel diganti melalui sintaks {`{`}_variable${`}`}.

json
// Contoh struktur lingkungan Insomnia
{
    "base_url": "https://api.example.com",
    "timeout": 5000,
    "headers": {
        "Content-Type": "application/json",
        "Accept": "application/json"
    }
}

Bekerja dengan GraphQL di Insomnia

Insomnia menyediakan salah satu editor GraphQL terbaik di antara klien API. Tab GraphQL Query memungkinkan menulis permintaan dengan pelengkapan otomatis bidang berdasarkan skema yang dimuat. Di kanan ditampilkan dokumentasi tipe, bidang, dan argumen secara real-time.

Memuat skema dan Introspection

Skema dimuat melalui permintaan GraphQL Introspection ke endpoint. Insomnia menyimpan skema dalam cache lokal dan memperbaruinya secara otomatis saat ada perubahan. Setelah dimuat, tersedia pelengkapan otomatis (Ctrl+Space), validasi permintaan, dan pratinjau kemungkinan kesalahan sebelum pengiriman.

graphql
# Permintaan GraphQL dengan variabel di Insomnia
query GetUser($id: ID!) {
    user(id: $id) {
        name
        email
        posts {
            title
            createdAt
        }
    }
}

Plugin dan perluasan kemampuan

Insomnia Plugin Hub berisi lebih dari 100 plugin yang memperluas fungsionalitas klien. Plugin diinstal melalui menu Preferences → Plugins atau manual melalui npm. Kategori populer mencakup pembuatan data uji, ekspor ke berbagai format, dan validator respons khusus. Setiap plugin melalui moderasi wajib sebelum dipublikasikan di hub pengembang bersama.

Plugin populer

  • insomnia-plugin-faker — pembuatan data palsu (nama, email, telepon) untuk permintaan uji.
  • insomnia-plugin-aws4 — penandatanganan permintaan berdasarkan AWS Signature Version 4 untuk bekerja dengan Amazon API Gateway dan S3.
  • insomnia-plugin-utils — utilitas untuk bekerja dengan tanggal, hashing, dan pengodean Base64 langsung di dalam permintaan.

Plugin ditulis dalam JavaScript dan berinteraksi dengan Insomnia melalui API templating (response.*, request.*, environment.*). Pengembangan plugin memerlukan pengetahuan dasar Node.js dan publikasi melalui paket npm dengan tag insomnia-plugin.

CLI dan otomatisasi pengujian

Inso CLI — utilitas konsol bawaan di Insomnia untuk menjalankan permintaan dan tes dari terminal. Inso menjalankan permintaan individual atau seluruh koleksi, mengekspor hasil ke JSON, dan dapat diintegrasikan ke dalam pipeline CI/CD. Perintah inso run collection menjalankan semua permintaan dalam koleksi secara berurutan.

Contoh integrasi ke GitHub Actions

Inso CLI bekerja dalam kontainer Docker dan mode headless, sehingga dapat digunakan di GitHub Actions dan GitLab CI. Konfigurasi eksekusi dijelaskan dalam file YAML dengan menunjukkan jalur ke koleksi dan lingkungan yang diekspor. Asersi pada kode status dan body respons didukung melalui skrip JavaScript.

yaml
# Workflow GitHub Actions dengan Inso CLI
- name: Run API tests
  run: npx insomnia-inso run collection
    --collection "Auth API"
    --env "Staging"
    --reporter junit
    --output reports/api-results.xml

Integrasi Insomnia dengan Git dan kerja tim

Insomnia mendukung sinkronisasi koleksi melalui Git. File koleksi disimpan dalam format JSON dan dapat ditambahkan ke repositori proyek. Insomnia menyediakan klien Git bawaan untuk melihat perubahan, membuat commit, dan menyelesaikan konflik penggabungan langsung dari antarmuka.

Mengatur sinkronisasi Git

Untuk menghubungkan Git, buat folder lokal dengan repositori dan tunjukkan sebagai direktori root di pengaturan Insomnia. Aplikasi secara otomatis melacak perubahan pada file koleksi dan menampilkannya di panel Version Control. Operasi standar didukung: commit, push, pull, dan melihat diff antar versi.

Kerja tim melalui Insomnia Cloud

Untuk proyek tanpa Git, Insomnia menawarkan sinkronisasi cloud melalui Insomnia Cloud. Paket gratis mencakup hingga 3 anggota tim dan pencadangan otomatis koleksi. Paket berbayar menambahkan manajemen akses, audit perubahan, dan dukungan prioritas.

Metode sinkronisasiGratisOfflineKontrol versi
Git (lokal)YaYaPenuh (commit, diff, merge)
Insomnia CloudHingga 3 penggunaTidakDasar (riwayat perubahan)
Ekspor fileYaYaManual (melalui sistem kontrol versi)

Design Mode dan pembuatan spesifikasi

Design Mode di Insomnia memungkinkan membuat spesifikasi API dalam format OpenAPI 3.0. Mode ini berfungsi seperti editor visual: tentukan endpoint dan skema data tanpa menulis YAML secara manual. Spesifikasi dapat diekspor ke JSON atau YAML.

Pembuatan koleksi dari OpenAPI

Insomnia mengimpor spesifikasi OpenAPI dan membuat koleksi permintaan untuk setiap endpoint. Jalur dan skema diubah menjadi permintaan HTTP siap pakai. Fitur ini berguna saat integrasi dengan microservices, di mana spesifikasi disimpan di repositori terpisah milik tim.

Penandaan permintaan

Setiap permintaan dapat diberi label warna: red, blue, green, orange, purple. Penyaringan berdasarkan tag bekerja melalui kolom pencarian terlepas dari struktur folder, sehingga memudahkan navigasi dalam proyek dengan ratusan endpoint dan banyak modul.

Design Mode dan pembuatan spesifikasi

Design Mode di Insomnia memungkinkan membuat spesifikasi API dalam format OpenAPI 3.0 langsung di dalam aplikasi. Mode ini berfungsi seperti editor visual: tentukan endpoint, skema data, dan parameter tanpa menulis YAML secara manual. Spesifikasi dapat diekspor ke JSON atau YAML untuk dipublikasikan di repositori.

Pembuatan koleksi dari OpenAPI

Insomnia mengimpor spesifikasi OpenAPI yang ada dan secara otomatis membuat koleksi permintaan untuk setiap endpoint. Jalur dan skema diubah menjadi permintaan HTTP siap pakai dengan tipe data yang benar. Fitur ini berguna saat integrasi dengan microservices, di mana spesifikasi disimpan dan dipelihara oleh tim pengembang backend terpisah.

Penandaan dan penyaringan permintaan

Untuk mengatur banyak permintaan, Insomnia mendukung penandaan — setiap permintaan dapat diberi label warna: red, blue, green, orange, purple. Penyaringan berdasarkan tag bekerja melalui kolom pencarian terlepas dari struktur folder, sehingga memudahkan navigasi dalam proyek dengan ratusan endpoint dan banyak modul fungsional API.

Pertanyaan yang Sering Diajukan

Apakah registrasi diperlukan untuk bekerja dengan Insomnia?

Tidak, registrasi tidak wajib. Insomnia bekerja sepenuhnya offline. Sinkronisasi cloud tersedia sebagai opsi untuk kerja tim, tetapi semua data disimpan secara lokal dalam file JSON di folder ~/.config/Insomnia/.

Bagaimana cara mengimpor koleksi dari Postman ke Insomnia?

Ekspor koleksi dari Postman dalam format JSON (Collection v2.1). Di Insomnia pilih Import/Export → Import Data → From File. Insomnia otomatis mengonversi koleksi dengan mempertahankan permintaan, header, dan variabel lingkungan.

Apakah Insomnia mendukung WebSocket?

Ya, sejak versi 2022. Insomnia mendukung protokol WebSocket dan Socket.IO. Buat permintaan baru berjenis WebSocket, tentukan URL (ws:// atau wss://), dan kirim pesan melalui antarmuka chat.

Apa perbedaan Inso CLI dengan Newman?

Inso CLI — utilitas asli Insomnia untuk menjalankan koleksi dari konsol. Newman adalah padanannya untuk Postman. Inso lebih ringan, tidak memerlukan instalasi terpisah (dibundel dengan Insomnia), dan mendukung semua jenis permintaan Insomnia, termasuk GraphQL.

Bisakah Insomnia digunakan untuk gRPC?

Ya, Insomnia mendukung permintaan gRPC melalui tab gRPC. Diperlukan untuk memuat file .proto dengan definisi layanan. Setelah dimuat, Insomnia menampilkan metode RPC yang tersedia dan membuat pesan biner Protobuf untuk dikirim.

Kesimpulan

  • Insomnia — klien HTTP ringan dan cepat untuk REST, GraphQL, dan WebSocket dengan kerja offline penuh.
  • Editor GraphQL dengan pelengkapan otomatis dan pemuatan skema melalui Introspection — salah satu solusi terbaik di antara klien API.
  • Lingkungan mendukung penumpukan dan pewarisan variabel untuk konfigurasi yang fleksibel di berbagai lingkungan.
  • Pembuatan kode dalam lebih dari 20 bahasa mempercepat integrasi API ke aplikasi seluler dan web.
  • Plugin Hub memperluas fungsionalitas melalui plugin untuk pembuatan data, penandatanganan permintaan, dan validasi khusus.
  • Inso CLI menjalankan koleksi di CI/CD tanpa antarmuka grafis dengan ekspor hasil ke format JUnit.
  • gRPC dengan dukungan pemuatan file .proto menjadikan Insomnia alat universal untuk arsitektur microservices.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga