gRPC adalah kerangka kerja Remote Procedure Call (RPC) berkinerja tinggi dan efisien yang diadopsi secara luas dalam sistem terdistribusi modern. Dalam arsitektur microservices, gRPC memfasilitasi komunikasi antarlayanan yang efisien dengan latensi rendah dan konsumsi bandwidth yang berkurang melalui kemampuan streaming dan serialisasi Protocol Buffers.Prasyarat#
Sebelum menggunakan gRPC di Apidog, pastikan Anda memiliki:Apidog versi 2.3.1 atau yang lebih baru
File .proto yang mendefinisikan layanan dan metode gRPC Anda
Akses ke endpoint server gRPC
Membuat Proyek gRPC#
Untuk membuat proyek gRPC baru:1.
Klik "New Project" di beranda Apidog
Mengimpor File Proto#
gRPC mengikuti pendekatan API-First, yang mengharuskan layanan, metode, dan pesan didefinisikan melalui file .proto sebelum pengembangan. Impor file .proto Anda untuk mulai men-debug API gRPC di Apidog.Impor Awal#
Apidog mendukung tiga metode impor:| Metode | Deskripsi |
|---|
| File Lokal | Unggah file .proto dari filesystem lokal Anda |
| URL | Impor dari URL yang menghosting file .proto |
| Server Reflection | Temukan layanan secara otomatis dari server gRPC |
File .proto yang dipilih diimpor sebagai satu Proto, dengan ketentuan:Services diimpor sebagai layanan
Metode RPC diimpor sebagai metode
Dependensi harus ditambahkan secara manual jika file .proto bergantung pada file lain
Layanan terkait dari file .proto dependen dengan package yang sama juga diimpor
Mengimpor Ulang File Proto#
Ketika file .proto Anda berubah, perbarui file tersebut di Apidog:1.
Klik kanan Proto pada pohon direktori
Metode Invocation#
gRPC mendukung empat jenis metode saat mendefinisikan API dalam file .proto. Apidog mendukung keempatnya:| Jenis Metode | Deskripsi |
|---|
| Unary | Satu permintaan, satu respons (mirip dengan HTTP) |
| Server Streaming | Satu permintaan, beberapa respons dari server |
| Client Streaming | Beberapa permintaan dari client, satu respons |
| Bidirectional Streaming | Beberapa permintaan dan respons di kedua arah |
Panggilan Unary#
Panggilan unary berfungsi serupa dengan permintaan HTTP:1.
Masukkan URL server di bilah alamat
2.
Masukkan konten pesan dalam format JSON di bawah tab Message
3.
Klik "Invoke" untuk memulai panggilan
Anda juga dapat mengonfigurasi informasi Metadata dan Auth untuk autentikasi atau skenario kompleks.Panggilan Streaming#
Panggilan streaming beroperasi serupa dengan koneksi WebSocket. Setelah memulai panggilan, Anda dapat menulis dan mengirim pesan di bawah tab Message.Apidog menyediakan tampilan timeline yang menampilkan:Pesan diterima (dalam urutan kronologis)
Klik pesan apa pun untuk melihat detailnya.Fitur Lanjutan#
Membuat Nilai Dinamis Secara Otomatis#
Apidog mengenali konten file .proto, sehingga memungkinkan pembuatan body pesan secara otomatis:1.
Klik tombol "Auto-generate" untuk membuat struktur pesan
2.
Gunakan fitur "Dynamic Values" untuk pembuatan data dinamis yang fleksibel
Menggunakan Variabel#
Variabel Apidog dapat digunakan dalam pesan gRPC dan Metadata untuk injeksi data dinamis.Mengaktifkan TLS#
API gRPC mendukung koneksi aman melalui TLS (Transport Layer Security).Klik pemilih protokol sebelum URL untuk mengalihkan status TLS
Gunakan grpcs:// dalam URL untuk mengaktifkan TLS
Gunakan grpc:// untuk menonaktifkan TLS
Mengelola Alamat Server dan Lingkungan#
Menambahkan Alamat Server#
Klik ikon plus di sisi kanan bilah alamat URL untuk menambahkan alamat server saat ini ke suatu lingkungan.Menggunakan Alamat Server Lingkungan#
1.
Pilih lingkungan dan alamat server di sudut kanan atas
2.
Pilih "Follow Default" di bilah alamat URL untuk menggunakan alamat server terpadu untuk men-debug semua metode
Melihat File Proto dan Parameter API#
Konten File Proto#
Klik Proto pada pohon direktori kiri untuk melihat konten mentah file .proto.Parameter Permintaan dan Respons#
gRPC menggunakan Protocol Buffers (ProtoBuf) sebagai format serialisasi. Tidak seperti format berbasis teks (JSON, XML), ProtoBuf adalah format biner yang tidak cocok untuk dibaca atau ditulis oleh manusia.Di Apidog, semua pesan gRPC ditulis dan ditampilkan dalam format JSON agar mudah digunakan. Anda dapat melihat parameter permintaan dan respons dalam format JSON pada halaman informasi API.| ProtoBuf 3 | JSON | Contoh JSON |
|---|
| message | object | {"fooBar": v, "g": null, …} |
| enum | string | "FOO_BAR" |
| map<K,V> | object | {"k": v, …} |
| repeated V | array | [v, …] |
| bool | boolean | true, false |
| string | string | "Hello World!" |
| bytes | base64 string | "YWJjMTIzIT8kKiYoKSctPUB+" |
| int32, fixed32, uint32 | number | 1, -10, 0 |
| int64, fixed64, uint64 | string | "1", "-10" |
| float, double | number | 1.1, -10.0, 0, "NaN", "Infinity" |
Setelah menyelesaikan debugging, klik tombol "Save" untuk menyimpan:Ini memungkinkan anggota tim untuk menggunakan kembali pengaturan debugging Anda. Modified at 2026-06-11 10:17:04