go语言基于Gin写的restful风格api的例子 - Go语言中文社区

go语言基于Gin写的restful风格api的例子


项目地址

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

项目特性

基于gin

使用MongoDB数据库

gin-jwt权限验证

gin-sessions

gin-authz从session里取用户的角色进行权限管理

使用gin-swagger自动生成api文档

将gin默认的validator.v8升级到validator.v9

使用casbin权限管理

使用go-ini读写配置文件


项目目录

.

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

├── docs                            // swagger生成的api文档

├── web                            // vue写的前端单页页面

├── common

│  ├── db                          // mongoDB相关

│  ├── utils                      // 公用工具函数

│  ├── pkg                        // 公用包

|  |  └── e

|  |      ├── code.go            // http状态码常量

│  |      └── message.go          // 状态码对应的message常量

│  ├── validator

|  |  ├── custom_validate.go      // 自定义验证器

│  |  └── v8_to_v9.go            // 将gin的默认验证器从v8升级到v9

│  └── middlewares   

|      ├── authz.go                // 角色认证

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

├── conf                            // 应用配置相关文件

|  ├── authz                     

|  |  ├── model.conf              // 权限管理方案配置

│  |  └── policy.csv              // 权限分配表

|  ├── app.ini                    // 应用配置文件

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

└── routers

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

    └── api                        // api文件

        └── v1                      // api版本v1

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

            ├── mining-machine      // 矿机模块

            |  ├── models.go      // 模型和数据库操作

            |  ├── controlers.go  // 当前模块的控制器

            |  ├── routers.go      // 当前模块的路由

            |  ├── middlewares.go  // 当前模块的中间件

            |  └── validators.go  // 当前模块的验证器

            └── user                // 用户模块

                ├── models.go      // 模型和数据库操作

                ├── controlers.go  // 当前模块的控制器

                ├── routers.go      // 当前模块的路由

                ├── middlewares.go  // 当前模块的中间件

                └── validators.go  // 当前模块的验证器

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/5dad3edbc98b
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-09 21:52:20
  • 阅读 ( 1369 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢