Gin - это веб-фреймворк, написанный на языке Go (Golang). В нем реализован мартини-подобный API с гораздо лучшей производительностью, до 40 раз быстрее благодаря httprouter. Если вам нужна производительность и хорошая продуктивность, вам понравится Gin.
В этом разделе мы расскажем о том, что такое Gin, какие проблемы он решает и как он может помочь вашему проекту.
Если же вы уже готовы использовать Gin в своем проекте, посетите Quickstart.
Особенности
Быстрый
Маршрутизация на основе радиксного дерева, малый объем памяти. Никаких отражений. Предсказуемая производительность API.
Поддержка промежуточного ПО
Входящий HTTP-запрос может быть обработан цепочкой промежуточных программ и завершен конечным действием. Например: Логгер, Авторизация, GZIP и, наконец, публикация сообщения в БД.
Защита от сбоев
Gin может поймать панику, возникшую во время HTTP-запроса, и восстановить ее. Таким образом, ваш сервер будет всегда доступен. В качестве примера - можно также сообщить об этой панике в Sentry!
Переведено с помощью DeepL.com (бесплатная версия)
Проверка JSON
Gin может анализировать и проверять JSON-запрос - например, проверять наличие необходимых значений.
Группировка маршрутов
Организуйте свои маршруты лучше. Требуемая и необязательная авторизация, разные версии API… Кроме того, группы могут быть неограниченно вложены друг в друга без снижения производительности.
Управление ошибками
Gin предоставляет удобный способ сбора всех ошибок, возникших во время HTTP-запроса. В конечном итоге промежуточное ПО может записывать их в лог-файл, в базу данных или отправлять по сети.
Рендеринг встроенный
Gin предоставляет простой в использовании API для рендеринга JSON, XML и HTML.
Расширяемость
Создать новое промежуточное ПО очень просто, просто посмотрите примеры кодов.