go語言基于Gin寫的restful風(fēng)格api的例子

項目地址

https://github.com/wuhe52/golang-gin-restfulAPI-example-app

項目特性

基于gin

使用MongoDB數(shù)據(jù)庫

gin-jwt權(quán)限驗證

gin-sessions

gin-authz從session里取用戶的角色進(jìn)行權(quán)限管理

使用gin-swagger自動生成api文檔

將gin默認(rèn)的validator.v8升級到validator.v9

使用casbin權(quán)限管理

使用go-ini讀寫配置文件


項目目錄

.

├── server.go? ? ? ? ? ? ? ? ? ? ? // 入口文件

├── docs? ? ? ? ? ? ? ? ? ? ? ? ? ? // swagger生成的api文檔

├── web? ? ? ? ? ? ? ? ? ? ? ? ? ? // vue寫的前端單頁頁面

├── common

│? ├── db? ? ? ? ? ? ? ? ? ? ? ? ? // mongoDB相關(guān)

│? ├── utils? ? ? ? ? ? ? ? ? ? ? // 公用工具函數(shù)

│? ├── pkg? ? ? ? ? ? ? ? ? ? ? ? // 公用包

|? |? └── e

|? |? ? ? ├── code.go? ? ? ? ? ? // http狀態(tài)碼常量

│? |? ? ? └── message.go? ? ? ? ? // 狀態(tài)碼對應(yīng)的message常量

│? ├── validator

|? |? ├── custom_validate.go? ? ? // 自定義驗證器

│? |? └── v8_to_v9.go? ? ? ? ? ? // 將gin的默認(rèn)驗證器從v8升級到v9

│? └── middlewares? ?

|? ? ? ├── authz.go? ? ? ? ? ? ? ? // 角色認(rèn)證

│? ? ? └── session.go? ? ? ? ? ? ? // 使用session

├── conf? ? ? ? ? ? ? ? ? ? ? ? ? ? // 應(yīng)用配置相關(guān)文件

|? ├── authz? ? ? ? ? ? ? ? ? ? ?

|? |? ├── model.conf? ? ? ? ? ? ? // 權(quán)限管理方案配置

│? |? └── policy.csv? ? ? ? ? ? ? // 權(quán)限分配表

|? ├── app.ini? ? ? ? ? ? ? ? ? ? // 應(yīng)用配置文件

│? └── conf.go? ? ? ? ? ? ? ? ? ? // 初始化配置文件

└── routers

? ? ├── routers.go? ? ? ? ? ? ? ? ? // 路由初始化

? ? └── api? ? ? ? ? ? ? ? ? ? ? ? // api文件

? ? ? ? └── v1? ? ? ? ? ? ? ? ? ? ? // api版本v1

? ? ? ? ? ? ├── v1.go? ? ? ? ? ? ? // v1版本api入口

? ? ? ? ? ? ├── mining-machine? ? ? // 礦機(jī)模塊

? ? ? ? ? ? |? ├── models.go? ? ? // 模型和數(shù)據(jù)庫操作

? ? ? ? ? ? |? ├── controlers.go? // 當(dāng)前模塊的控制器

? ? ? ? ? ? |? ├── routers.go? ? ? // 當(dāng)前模塊的路由

? ? ? ? ? ? |? ├── middlewares.go? // 當(dāng)前模塊的中間件

? ? ? ? ? ? |? └── validators.go? // 當(dāng)前模塊的驗證器

? ? ? ? ? ? └── user? ? ? ? ? ? ? ? // 用戶模塊

? ? ? ? ? ? ? ? ├── models.go? ? ? // 模型和數(shù)據(jù)庫操作

? ? ? ? ? ? ? ? ├── controlers.go? // 當(dāng)前模塊的控制器

? ? ? ? ? ? ? ? ├── routers.go? ? ? // 當(dāng)前模塊的路由

? ? ? ? ? ? ? ? ├── middlewares.go? // 當(dāng)前模塊的中間件

? ? ? ? ? ? ? ? └── validators.go? // 當(dāng)前模塊的驗證器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容