概述
Gin 是一個用 Golang編寫的 高性能的web 框架, 由于http路由的優(yōu)化,速度提高了近 40 倍。 Gin的特點(diǎn)就是封裝優(yōu)雅、API友好。
Gin的一些特性:
- 快速
- 基于 Radix 樹的路由,小內(nèi)存占用。沒有反射。可預(yù)測的 API 性能。
- 支持中間件
- 傳入的 HTTP 請求可以由一系列中間件和最終操作來處理。 例如:Logger,Authorization,GZIP,最終操作 DB。
- Crash 處理
- Gin 可以 catch 一個發(fā)生在 HTTP 請求中的 panic 并 recover 它。這樣,你的服務(wù)器將始終可用。例如,你可以向 Sentry 報告這個 panic!
- JSON 驗(yàn)證
- Gin 可以解析并驗(yàn)證請求的 JSON,例如檢查所需值的存在。
- 路由組
- 更好地組織路由。是否需要授權(quán),不同的 API 版本…… 此外,這些組可以無限制地嵌套而不會降低性能。
- 錯誤管理
- Gin 提供了一種方便的方法來收集 HTTP 請求期間發(fā)生的所有錯誤。最終,中間件可以將它們寫入日志文件,數(shù)據(jù)庫并通過網(wǎng)絡(luò)發(fā)送。
- 內(nèi)置渲染
- Gin 為 JSON,XML 和 HTML 渲染提供了易于使用的 API。
- 可擴(kuò)展性
- 新建一個中間件非常簡單。