Giriş
Gin, Go (Golang) ile yazılmış bir web framework’üdür. httprouter sayesinde 40 kata kadar daha hızlı, çok daha iyi performansa sahip martini benzeri bir API sunar. Performans ve iyi verimlilik istiyorsanız, Gin’i seveceksiniz.
Bu bölümde Gin’in ne olduğunu, hangi sorunları çözdüğünü ve projenize nasıl yardımcı olabileceğini inceleyeceğiz.
Veya Gin’i projenizde kullanmaya hazırsanız, Hızlı Başlangıç sayfasını ziyaret edin.
Özellikler
Hızlı
Radix ağacı tabanlı yönlendirme, küçük bellek ayak izi. Yansıma (reflection) yok. Öngörülebilir API performansı.
Ara katman desteği
Gelen bir HTTP isteği, bir ara katman zinciri ve son eylem tarafından işlenebilir. Örneğin: Logger, Yetkilendirme, GZIP ve son olarak veritabanına mesaj gönderme.
Çökme koruması
Gin, bir HTTP isteği sırasında oluşan panic’i yakalayabilir ve kurtarabilir. Bu sayede sunucunuz her zaman erişilebilir olur. Örneğin - bu panic’i Sentry’ye raporlamak da mümkündür!
JSON doğrulama
Gin, bir isteğin JSON’ını ayrıştırabilir ve doğrulayabilir - örneğin, zorunlu değerlerin varlığını kontrol edebilir.
Rota gruplama
Rotalarınızı daha iyi düzenleyin. Yetkilendirme gerektiren ve gerektirmeyen, farklı API sürümleri… Ayrıca gruplar, performans kaybı olmadan sınırsız şekilde iç içe yerleştirilebilir.
Hata yönetimi
Gin, bir HTTP isteği sırasında oluşan tüm hataları toplamak için kullanışlı bir yol sağlar. Sonunda, bir ara katman bunları bir log dosyasına, veritabanına yazabilir ve ağ üzerinden gönderebilir.
Yerleşik işleme
Gin, JSON, XML ve HTML işleme için kullanımı kolay bir API sağlar.
Genişletilebilir
Yeni bir ara katman oluşturmak çok kolay, örnek koda göz atmanız yeterli.
Gin v1. Kararlı
- Sıfır tahsisli yönlendirici.
- Hâlâ en hızlı HTTP yönlendirici ve framework. Yönlendirmeden yazmaya kadar.
- Eksiksiz birim test paketi.
- Savaş testinden geçmiş.
- API dondurulmuş, yeni sürümler kodunuzu bozmayacak.