سریع
مسیریابی مبتنی بر درخت Radix، مصرف حافظه کم. بدون بازتاب (Reflection). عملکرد قابل پیشبینی API.
Gin یک فریمورک وب است که با زبان Golang نوشته شده است. این فریمورک دارای API مشابه Martini است، اما با عملکردی تا ۴۰ برابر سریعتر از Martini. اگر به عملکرد بالا و بهرهوری نیاز دارید، Gin را دوست خواهید داشت.
سریع
مسیریابی مبتنی بر درخت Radix، مصرف حافظه کم. بدون بازتاب (Reflection). عملکرد قابل پیشبینی API.
پشتیبانی از میانافزار
یک درخواست HTTP ورودی میتواند توسط زنجیرهای از میانافزارها و عمل نهایی پردازش شود. به عنوان مثال: Logger، احراز هویت، GZIP و در نهایت ارسال پیام به پایگاه داده.
بدون خرابی
Gin میتواند panic رخ داده در طول یک درخواست HTTP را بگیرد و آن را بازیابی کند. به این ترتیب، سرور شما همیشه در دسترس خواهد بود. همچنین میتوانید این panic را مثلاً به Sentry گزارش دهید!
اعتبارسنجی JSON
Gin میتواند JSON یک درخواست را تجزیه و اعتبارسنجی کند، مثلاً وجود مقادیر الزامی را بررسی کند.
گروهبندی مسیرها
مسیرهای خود را بهتر سازماندهی کنید. نیازمند احراز هویت در مقابل بدون نیاز، نسخههای مختلف API. علاوه بر این، گروهها میتوانند بدون کاهش عملکرد به صورت نامحدود تو در تو شوند.
مدیریت خطا
Gin راهی مناسب برای جمعآوری تمام خطاهای رخ داده در طول یک درخواست HTTP فراهم میکند. در نهایت، میانافزار میتواند آنها را در فایل لاگ، پایگاه داده بنویسد و از طریق شبکه ارسال کند.
رندرینگ داخلی
Gin یک API آسان برای رندرینگ JSON، XML و HTML ارائه میدهد.
قابل توسعه
ساختن میانافزار جدید بسیار آسان است، کافی است کد نمونه را بررسی کنید.