Singo: Simple Single Golang Web Service
go-crud正式改名为Singo!
使用Singo开发Web服务: 用最简单的架构,实现够用的框架,服务海量用户
https://github.com/Gourouting/singo
1.已支持接口测试 2.已经支持go1.20,请安装这个版本的golang使用本项目
仿B站的G站:https://github.com/Gourouting/giligili
Singo框架为移动端提供Token登录的案例: https://github.com/bydmm/singo-token-exmaple
本项目采用了一系列Golang中比较流行的组件,可以以本项目为基础快速搭建Restful Web API
本项目已经整合了许多开发API所必要的组件:
本项目已经预先实现了一些常用的代码方便参考和复用:
/api/v1/user/register用户注册接口/api/v1/user/login用户登录接口/api/v1/user/me用户资料接口(需要登录后获取session)/api/v1/user/logout用户登出接口(需要登录后获取session)本项目已经预先创建了一系列文件夹划分出下列模块:
项目在启动的时候依赖以下环境变量,但是在也可以在项目根目录创建.env文件设置环境变量便于使用(建议开发环境使用)
MYSQL_DSN="db_user:db_password@/db_name?charset=utf8&parseTime=True&loc=Local" # Mysql连接地址 REDIS_ADDR="127.0.0.1:6379" # Redis端口和地址 REDIS_PW="" # Redis连接密码 REDIS_DB="" # Redis库从0到10 SESSION_SECRET="setOnProducation" # Seesion密钥,必须设置而且不要泄露 GIN_MODE="debug"
本项目使用Go Mod管理依赖。
go mod init singo export GOPROXY=http://mirrors.aliyun.com/goproxy/ go run main.go // 自动安装
go run main.go
项目运行后启动在3000端口(可以修改,参考gin文档)
【新】本项目内置了接口测试的内容
cp test/.env.example test/.env
test/.env文件内容里的环境变量,保证可以正常连接mysql/redis-v检查下测试是否在正确运行go test -v ./test
go test ./test ok singo/test (cached)