chi 是一个轻量级可组合的 router,用于构建 Go HTTP 服务,支持 Go 1.7+。它特别擅长帮助编写大型 REST API 服务,这些服务随着项目的增长和变化而保持可维护性。chi 基于 Go 1.7 中引入的新 context 包,用于处理 handler 链中的信令、取消和请求范围值。
chi 的设计的关键考虑因素是:项目结构、可维护性、标准 http 处理程序(仅限 stdlib)、开发人员生产力以及将大型系统解构为许多小部件。
特性:
**轻量** - 核心代码小于 1000 行
**快** - [benchmarks](https://github.com/go-chi/chi#benchmarks)
**完全兼容 net/http**
**模块化/可组合 API 设计**
**Context 控制** - 基于 Go 1.7 中引入的新 context 包,用于处理 handler 链中的信令、取消和请求范围值
**健壮性** - 生产应用于 Pressly、CloudFlare、Heroku、99Designs 等公司(see [discussion](https://github.com/go-chi/chi/issues/91))
**文档生成** - docgen 自动生成从源到 JSON 或 Markdown 的路由文档
**无外部依赖**