Gin blog API 项目是基于 Golang Gin 框架的一套功能完整性能优良博客 API 服务,集博客基础操作、服务热更新、API 权限管理、API 可视化、图片上传下载、定时任务、系统日志采集等功能为一体。
本项目使用 Glide 管理项目依赖,Glide 非常好用,Golang 包管理工具大同小异具体选择看个人喜好了。
先决条件:Golang >= 1.8
mysql
redis
$ go get github.com/RoggXD/gin-blog
首先请执行 blog.sql 创建项目数据库和表。
打开 conf/app.ini
配置项目配置。
在试飞之前请检查项目目录 runtime
下是否有 logs
和 upload/images
目录,这点非常重要。
$ cd $GOPATH/src/gin-blog
$ go run main.go
项目包含热更新功能,修改配置后重启项目不会干扰已有链接。
获取 Token
http://host:8000/auth?username=test&password=test123456
$ go get -u github.com/swaggo/swag/cmd/swag
若无法科学上网,需使用 gopm
gopm get -g -v github.com/swaggo/swag/cmd/swag
cd $GOPATH/src/github.com/swaggo/swag/cmd/swag
go install
在项目根目录下,
swag init
会自动生成 docs/
docs/
└── docs.go
└── swagger
└── swagger.json
└── swagger.yaml
访问 http://host:8000/swagger/index.html
可视化查看 API 详情。
gin-blog/
├── conf
├── middleware
├── models
├── routers
└── runtime
└── vendor
└── pkg
- conf:用于存储配置文件
- middleware:应用中间件
- models:应用数据库模型
- routers:路由逻辑处理
- runtime:应用运行时数据
- vendor:项目依赖
- pkg:第三方包