Gin 是一個(gè)用 Go (Golang) 編寫的 web 框架。它是一個(gè)類似于 martini 但擁有更好性能的 API 框架,由于 httprouter,速度提高了近 40 倍。如果你是性能和高效的追求者,你會(huì)愛上 Gin。
在本節(jié)中,我們將介紹 Gin 是什么,它解決了哪些問題,以及它如何幫助你的項(xiàng)目。
或者,如果你已經(jīng)準(zhǔn)備在項(xiàng)目中使用 Gin,請(qǐng)?jiān)L問快速入門。
基于 Radix 樹的路由,小內(nèi)存占用。沒有反射??深A(yù)測(cè)的 API 性能。
傳入的 HTTP 請(qǐng)求可以由一系列中間件和最終操作來處理。 例如:Logger,Authorization,GZIP,最終操作 DB。
Gin 可以 catch 一個(gè)發(fā)生在 HTTP 請(qǐng)求中的 panic 并 recover 它。這樣,你的服務(wù)器將始終可用。例如,你可以向 Sentry 報(bào)告這個(gè) panic!
Gin 可以解析并驗(yàn)證請(qǐng)求的 JSON,例如檢查所需值的存在。
更好地組織路由。是否需要授權(quán),不同的 API 版本…… 此外,這些組可以無限制地嵌套而不會(huì)降低性能。
Gin 提供了一種方便的方法來收集 HTTP 請(qǐng)求期間發(fā)生的所有錯(cuò)誤。最終,中間件可以將它們寫入日志文件,數(shù)據(jù)庫(kù)并通過網(wǎng)絡(luò)發(fā)送。
Gin 為 JSON,XML 和 HTML 渲染提供了易于使用的 API。
新建一個(gè)中間件非常簡(jiǎn)單,去查看示例代碼吧。
更多建議: