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

武鹤 · · 2594 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

项目地址

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  // 当前模块的验证器


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:武鹤

查看原文:go语言基于Gin写的restful风格api的例子

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2594 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传