GoSkeleton基于 Gin 框架封裝的 Web 項(xiàng)目骨架
1.基于gin框架,一個(gè)單體項(xiàng)目開發(fā)所必要的絕大部分基礎(chǔ)功能、主線業(yè)務(wù)功能全部劃分成獨(dú)立模塊封裝。
2.創(chuàng)新性地改造一個(gè)request到response生命周期邏輯:Request: 路由——>(中間件)——>表單參數(shù)驗(yàn)證器——>控制器(調(diào)度Model、Service等)——>Response。
3.基于用戶模塊,編寫了完善的用戶注冊(cè)、用戶登錄獲取token、中間件token鑒權(quán)以及用于用戶curd操作的示例代碼。
4.數(shù)據(jù)庫(kù)(Sqlserver、Mysql、Redis)封裝完善的連接池、無(wú)感知調(diào)用。
5.創(chuàng)新性地改造websocket實(shí)現(xiàn)邏輯,嚴(yán)格按照websocket協(xié)議,實(shí)現(xiàn)服務(wù)器到客戶端(主要是各種瀏覽器端)的隱式自動(dòng)心跳包。
6.其他功能模塊(均寫有完善的示例代碼):
6.1全局容器、全局函數(shù)事件管理器
6.2基于yaml格式文件的統(tǒng)一配置
6.3文件上傳公共模塊
6.4 信號(hào)監(jiān)聽管道,用于監(jiān)聽各種退出信號(hào),例如:interrupt、kill -9 、kill -15 、ctrl+c等保證程序退出時(shí)釋放各種資源,優(yōu)雅地結(jié)束。
最后說明:
1.該項(xiàng)目骨架我們將完善地封裝一個(gè)單體項(xiàng)目所需要的最基礎(chǔ)模塊,希望gin框架愛好者參與開發(fā)。
2.該項(xiàng)目骨架是從我們生產(chǎn)項(xiàng)目(基于gin框架)去除具體的業(yè)務(wù)邏輯獨(dú)立出來的,目前暫缺文檔,可以通過源碼閱讀,結(jié)合注釋快速上手開發(fā)自己的項(xiàng)目。
