Repolode
go-chi

go-chi/chi

Лёгкий совместимый с net/http роутер для создания REST API на Go с middleware, группами маршрутов и монтированием подроутеров.

Звёзды
22,981
Форки
3,717
Открытые issues
132
Последний коммит
4 дня назад

Что это?

chi — роутер для HTTP-сервисов на Go. Он сопоставляет URL-шаблоны с именованными параметрами и подстановочными знаками с обработчиками. Роутер построен на пакетах стандартной библиотеки net/http и context, поэтому с ним можно использовать любые обработчики и middleware, написанные для net/http. Ядро роутера компактное и не имеет внешних зависимостей.

Роутер поддерживает комбинируемые middleware, middleware для отдельных маршрутов, группы маршрутов и монтирование отдельных подроутеров по префиксу пути. Благодаря этому крупный REST API удобно разбивать на небольшие пакеты с собственными стеками middleware. Значения, привязанные к запросу, отмена и таймауты передаются через контекст запроса.

Необязательный пакет middleware включает такие компоненты, как идентификаторы запросов, логирование, восстановление после паники, сжатие, ограничение частоты запросов, таймауты и определение IP-адреса клиента. В дополнительных пакетах есть поддержка CORS, JWT-аутентификации, ограничения частоты запросов и генерации документации по маршрутам через docgen.

Ключевые возможности

  • 01Именованные URL-параметры, параметры с regexp и подстановочные знаки в шаблонах маршрутов
  • 02Стеки middleware, middleware для отдельных маршрутов и группы маршрутов
  • 03Монтирование подроутеров по префиксам пути
  • 04Полная совместимость со стандартными обработчиками и middleware net/http
  • 05Встроенный пакет middleware для логирования, восстановления после паники, сжатия, таймаутов и не только

Сценарии использования

  • Создание крупных и удобных в сопровождении REST API на Go
  • Разбиение монолитного HTTP-сервиса на модульные подроутеры
  • Подключение стандартного стека middleware для логирования, аутентификации и таймаутов в сервисах на Go

Быстрый старт

  1. 1

    Установите chi с помощью go get

    go get -u github.com/go-chi/chi/v5

Темы

Частые вопросы

Что такое chi?
Лёгкий совместимый с net/http роутер для создания REST API на Go с middleware, группами маршрутов и монтированием подроутеров. chi — роутер для HTTP-сервисов на Go. Он сопоставляет URL-шаблоны с именованными параметрами и подстановочными знаками с обработчиками. Роутер построен на пакетах стандартной библиотеки net/http и context, поэтому с ним можно использовать любые обработчики и middleware, написанные для net/http. Ядро роутера компактное и не имеет внешних зависимостей.
chi можно использовать бесплатно? Какая у него лицензия?
chi распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
chi всё ещё поддерживается?
Активно поддерживается. Последний коммит в chi — 18 окт. 2026 г..
Для чего можно использовать chi?
Создание крупных и удобных в сопровождении REST API на Go Разбиение монолитного HTTP-сервиса на модульные подроутеры Подключение стандартного стека middleware для логирования, аутентификации и таймаутов в сервисах на Go
Как установить chi?
Установите chi с помощью go get: go get -u github.com/go-chi/chi/v5
Где скачать chi?
Исходный код и инструкции по установке — на GitHub: https://github.com/go-chi/chi

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты