Gin یم فریم ورک وب ساخته شده با Go است که امکاناتی مانند martini دارد (یکی دیگر از فریم ورک های وب گو) ولی با کارایی بالاتر چیزی حدود 40 برابر سریع تر با تشکر از httprouter.اگه به عملکرد فوق ابعاده ایی نیاز دارید عاشق Gin میشید.
در این بخش ما به بررسی جین میپردازیم که چه مشکلاتی را حل می کند و چگونه می تواند به پروژه شما کمک کند.
یا اگر آماده استفاده از Gin برای پروژه خود هستید ، به [شروع سریع] (https://gin-gonic.com/docs/quickstart/) سر بزنید.
مسیریابی مبتنی بر درخت ردیکس(Radix tree based routing) ، چاپ ردپا روی حافظه کم(small memory foot print). بدون تأمل. عملکرد قابل پیش بینی API.
یک درخواست HTTP ورودی میتواند از میان زنجیره ایی از میان افزار ها بگردد و سپس به یک اقدام نهایی منجرب شود. برای مثال: زنجیره ی میان افزار ها -> Logger, Authorization, GZIOP و در نهایت یک اقدام یا پروسه نهایی که منجرب به ذخیره ی یک پیام در دیتابیس میشود.
Gin می تواند در هنگام درخواست HTTP دچار پنیک(کرش) شود و آن را بازیابی کند. به این ترتیب سرور شما همیشه در دسترس خواهد بود و پایدار میماند. به عنوان مثال - همچنین می توانید این پنیک(کرش) را به Sentry گزارش دهید!
جین می تواند JSON ورودی را تجزیه و اعتبار سنجی کند - به عنوان مثال ، بررسی مقادیر مورد نیاز.(فیلد های اجباری مورد نیاز)
مسیرهای خود را بهتر سازماندهی کنید. گروه ها می توانند بدون محدودیت عملکرد به صورت نامحدود تو در تو قرار بگیرند.
جین یک روش مناسب برای جمع آوری تمام خطاهایی که در هنگام درخواست HTTP رخ داده است فراهم می کند. در نهایت ، یک میان افزار می تواند آنها را در یک فایل log یا یک پایگاه داده بنویسد و از طریق شبکه ارسال کند.
Gin استفاده آسان از API را برای استفاده از JSON ، XML و HTML فراهم می کند.
ساخت یک میان افزار جدید بسیار ساده است. تنها کافیه به نمونه کدها یه نگاه بندازید.