| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | # KPTYUN一个go api 后端例子,包含JWT,RBAC(Casbin),增删改查, 一键生成 Restful API接口(不依赖orm)。## 主要说明* v1.1.2### 表* user         * username  password   * role          * name * menu         * name path   method### 目录结构* conf:用于存储配置文件* docs: 文档(SQL和API注释)* logs: 日志* middleware:应用中间件* models:应用数据库模型* pkg:第三方包* routers: 路由逻辑处理* service: 逻辑处理* test: 单元测试### 权限验证说明>  利用的casbin库, 将  user  role  menu 进行自动关联```项目启动时,会自动加载权限. 如有更改,会删除对应的权限,重新加载.用户关联角色  角色关联菜单  权限关系为:角色(role.name,menu.path,menu.method)  用户(user.username,role.name)例如:test      /api/v1/users       GETzhuhongbin     test当zhuhongbin  GET  /api/v1/users 地址的时候,会去检查权限,因为他属于test组,同时组有对应权限,所以本次请求会通过。用户 admin 有所有的权限,不进行权限匹配登录接口 /auth  不进行验证```### 请求> 请求和接收 都是 传递 json 格式 数据```例如:访问 /auth    获取token{	"username": "admin",	"password": "123456"}访问  /api/v1/users   请求头设置  Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx```## How to run### Required- Mysql### ReadyCreate a **go database** and import [SQL](docs/sql/go.sql)创建一个库,然后导入sql,创建表!### ConfYou should modify `conf/app.ini````[database]Type = mysqlUser = rootPassword =Host = 127.0.0.1:3306Name = goTablePrefix = go_```## Installation```yum install go -y cd $GOPATH/src/github.com/kptyun/go-admingo build main.gogo run  main.go ## 热编译,开发时使用go get github.com/silenceper/gowatchgowatch   ```### Run```Project information and existing API[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env:	export GIN_MODE=release - using code:	gin.SetMode(gin.ReleaseMode)Listening port is 8000默认 账户 密码 都为  123456```* 不用orm依赖,直接输入表名字就可以 增删改查 ``` get   http://127.0.0.1:8000/api/restful/go_userget   http://127.0.0.1:8000/api/restful/go_user/1post   http://127.0.0.1:8000/api/restful/go_user数据格式  json  支持批量[{	"username":"hequan",	"password":"hequan1",	"created_on": "0",	"modified_on":"0",	"deleted_on":"0"}]put  http://127.0.0.1:8000/api/restful/go_user/2数据格式  json{	"password":"654321"}delete http://127.0.0.1:8000/api/restful/go_user/2```###  API  注释> http://127.0.0.1:8000/swagger/index.html## Features```- RESTful API- Gorm- logging- Jwt-go- Swagger- Gin- Graceful restart or stop (fvbock/endless)- App configurable- 一键生成 Restful API接口```## 其他```shell##更新注释swag init```
 |