基于Go的应用开发入门套件
本工具包旨于让您快速构建起项目结构,以便通过Go来开发WebApi或RPC服务,遵循SOLID的最佳实践来编写GO代码.
现阶段本项目例子还相对简单,但框架及组件的使用都是在实际项目使用的,未来再提供近于实战的例子.
本工具包提供下列功能:
- 应用与组件的可配置性,并支持配置中心方式
- 基于Gin的Web服务支持
- GraqhQl服务支持
- 基于Gorm的数据库操作及事务控制
- JWT-based 验证
- 异常处理及可控的错误响应
- 应用日志及访问日志支持
- 围绕protobuf为模型中心,生成通用性代码
- 采用Service层,并可扩展为RPC服务或微服务
- 测试环境可配置
本工具包使用了常见的GoPKG,你可以很容易的替换为自己喜欢的包.因为这些流行的PKG进行了良好的抽象
.
微服务部分
本套件可以做什么
本套件面向是的企业级应用开发,做为通用的API编程框架.包括常见的RESTapi,微服务架构支持.
本套件的目标不是为了实现像beego这样的全栈框架,通常认为每个项目特性不同,除了提供一些基础包,应该由项目自行装配.
开发环境
- go环境安装
- IDE vscode or goland
- 以前go的开发离开不了翻墙,现在可以不翻了,具体可看工具篇
快速入门
新建项目
git clone https://github.com/qeelyn/golang-starter-kit.git $GOPATH/src/xxx.com/your-vendor/project-name
运行
make run
默认采用微服务结构,通过浏览器访问: http://localhost:18000/graphiql
,graphiql正常显示时在graphiql中输入:
query test {
hello(name:"qsli") {
id
}
}
执行,没有看到异常时表示项目正常运行
资源
开发手册: 戳我
QQ: 21997272