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.

Расширяемость

Создать новое промежуточное ПО очень просто, просто посмотрите примеры кодов.