gole-boot 框架是从Java向golang转型的过程中总结的一套至简化的工具框架,借鉴spring-boot的思想,遵从大道至简原则,脱胎与gole项目,旨在将三方框架集成放到这里
go get github.com/simonalong/gole-boot- 更新相关依赖
go mod tidy- 下载指定版本
go get github.com/simonalong/gole-boot@<version>目前最新版本:v1.2.0
gole-boot定位是工具框架,包含各种各样的工具,并对开发中的各种常用的方法进行封装。也包括web方面的工具
创建main.go文件和同目录的application.yml 文件
├── application.yaml
├── go.mod
└── main.go
# application.yaml 内容
gole:
server:
# http服务
http:
# 是否启用,默认:false
enable: true// main.go 文件
package main
import (
"errors"
"github.com/gin-gonic/gin"
httpServer "github.com/simonalong/gole-boot/server/http"
"github.com/simonalong/gole-boot/server/http/rsp"
)
func main() {
httpServer.Get("api/get", GetData)
httpServer.Get("api/err", GetDataErr)
httpServer.RunServer()
}
func GetData(c *gin.Context) (any, error) {
return "value", nil
}
func GetDataErr(c *gin.Context) (any, error) {
return "value", errors.New("异常")
}运行如下
// 正常
root@user ~> curl http://localhost:8080/api/get
{
"code": 0,
"data": "value",
"message": "success"
}
// 异常
root@uer ~> curl http://localhost:8180/api/err
{
"code": 500,
"message": "服务器错误",
"error": "异常"
}| 包名 | 简介 |
|---|---|
| debug | 线上调试工具统一介绍文档 |
| errorx | 异常分类 |
| event | 事件分类 |
| otel | opentelemetry埋点客户端封装 |
| meter | 自定义埋点封装 |
| server/grpc | grpc服务端 |
| server/http | http服务端 |
| server/tcp | tcp服务端 |
| server/winsrv | windows服务端 |
| client/grpc | grpc客户端 |
| client/http | http客户端 |
| extend/orm | gorm、xorm的封装 |
| extend/etcd | etcd封装 |
| extend/redis | go-redis的封装 |
| extend/emqx | emqx客户端的封装 |
| extend/kafka | kafka客户端的封装 |
| extend/tdengine | tdengine客户端的封装 |
| extend/nats | nats客户端的封装 |
| extend/rabbitmq | rabbitmq客户端的封装 |
| extend/config_center | 配置中心的客户端 |
| extend/job | 分布式任务调度客户端 |
根目录提供go_test.sh文件,统一执行所有gole-boot中包的测试模块
sh go_test.sh