baishaojie e0ddbdc1f6 羊场栏舍同步调整 | 5 mesiacov pred | |
---|---|---|
comm | 1 rok pred | |
conf | 5 mesiacov pred | |
demo | 1 rok pred | |
dist | 5 mesiacov pred | |
dist-tmr-测试-20240613 | 5 mesiacov pred | |
docs | 1 rok pred | |
html | 1 rok pred | |
http | 5 mesiacov pred | |
mdns | 1 rok pred | |
middleware | 1 rok pred | |
migration | 7 mesiacov pred | |
models | 7 mesiacov pred | |
module | 7 mesiacov pred | |
pkg | 1 rok pred | |
scripts | 1 rok pred | |
service | 7 mesiacov pred | |
test | 1 rok pred | |
uploads | 7 mesiacov pred | |
.drone-bak.yml | 7 mesiacov pred | |
.gitignore | 1 rok pred | |
11111.sql | 5 mesiacov pred | |
Dockerfile | 7 mesiacov pred | |
LICENSE | 1 rok pred | |
Makefile | 7 mesiacov pred | |
README.md | 1 rok pred | |
__debug_bin.exe | 5 mesiacov pred | |
dist-tmr-测试-20240613.zip | 5 mesiacov pred | |
go.mod | 7 mesiacov pred | |
go.sum | 7 mesiacov pred | |
linux64.bat | 1 rok pred | |
main.go | 1 rok pred | |
win32.bat | 10 mesiacov pred | |
win64.bat | 10 mesiacov pred |
一个go api 后端例子,包含JWT,RBAC(Casbin),增删改查, 一键生成 Restful API接口(不依赖orm)。
利用的casbin库, 将 user role menu 进行自动关联
项目启动时,会自动加载权限. 如有更改,会删除对应的权限,重新加载.
用户关联角色
角色关联菜单
权限关系为:
角色(role.name,menu.path,menu.method)
用户(user.username,role.name)
例如:
test /api/v1/users GET
zhuhongbin test
当zhuhongbin GET /api/v1/users 地址的时候,会去检查权限,因为他属于test组,同时组有对应权限,所以本次请求会通过。
用户 admin 有所有的权限,不进行权限匹配
登录接口 /auth 不进行验证
请求和接收 都是 传递 json 格式 数据
例如: 访问 /auth 获取token { "username": "admin", "password": "123456" } 访问 /api/v1/users 请求头设置 Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Create a go database and import SQL
创建一个库,然后导入sql,创建表!
You should modify conf/app.ini
[database]
Type = mysql
User = root
Password =
Host = 127.0.0.1:3306
Name = go
TablePrefix = go_
yum install go -y
cd $GOPATH/src/github.com/kptyun/go-admin
go build main.go
go run main.go
## 热编译,开发时使用
go get github.com/silenceper/gowatch
gowatch
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_user
get http://127.0.0.1:8000/api/restful/go_user/1
post 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
- RESTful API
- Gorm
- logging
- Jwt-go
- Swagger
- Gin
- Graceful restart or stop (fvbock/endless)
- App configurable
- 一键生成 Restful API接口
##更新注释
swag init
TODO 列表