Pendahuluan
Gin adalah framework web yang ditulis dalam Go (Golang). Gin memiliki API mirip Martini dengan performa yang jauh lebih baik, hingga 40 kali lebih cepat berkat httprouter. Jika Anda membutuhkan performa dan produktivitas yang baik, Anda akan menyukai Gin.
Di bagian ini kami akan membahas apa itu Gin, masalah apa yang dipecahkannya, dan bagaimana Gin dapat membantu proyek Anda.
Atau, jika Anda sudah siap menggunakan Gin dalam proyek Anda, kunjungi Memulai Cepat.
Routing berbasis radix tree, jejak memori kecil. Tanpa reflection. Performa API yang dapat diprediksi.
Dukungan Middleware
Section titled “Dukungan Middleware”Permintaan HTTP yang masuk dapat ditangani oleh rangkaian middleware dan aksi akhir. Contoh: Logger, Otorisasi, GZIP, dan akhirnya mengirim pesan ke DB.
Bebas Crash
Section titled “Bebas Crash”Gin dapat menangkap panic yang terjadi selama permintaan HTTP dan memulihkannya. Dengan demikian, server Anda akan selalu tersedia. Sebagai contoh - Anda juga bisa melaporkan panic ini ke Sentry!
Validasi JSON
Section titled “Validasi JSON”Gin dapat melakukan parse dan memvalidasi JSON dari sebuah permintaan - misalnya, memeriksa keberadaan nilai yang wajib diisi.
Pengelompokan Rute
Section titled “Pengelompokan Rute”Organisasikan rute Anda lebih baik. Memerlukan otorisasi vs tidak memerlukan, versi API berbeda… Selain itu, grup dapat disusun bertingkat tanpa batas tanpa menurunkan performa.
Manajemen Eror
Section titled “Manajemen Eror”Gin menyediakan cara praktis untuk mengumpulkan semua eror yang terjadi selama permintaan HTTP. Pada akhirnya, middleware dapat menulisnya ke file log, ke database, dan mengirimnya melalui jaringan.
Rendering Bawaan
Section titled “Rendering Bawaan”Gin menyediakan API yang mudah digunakan untuk rendering JSON, XML, dan HTML.
Dapat Diekspansi
Section titled “Dapat Diekspansi”Membuat middleware baru sangat mudah, cukup lihat contoh kodenya.
Gin v1. Stabil
Section titled “Gin v1. Stabil”- Router tanpa alokasi.
- Masih menjadi router dan framework HTTP tercepat. Dari routing hingga penulisan.
- Paket lengkap pengujian unit.
- Teruji di lapangan.
- API dibekukan, rilis baru tidak akan merusak kode Anda.