首先,您需要安装好对应的依赖环境,以及工具:
建议开启GO111MODULE
go env -w GO111MODULE=on
kratos 是与 Kratos 框架配套的脚手架工具,kratos 能够
详细使用请参照 CLI工具
为使接下来的步骤能够顺利进行,需要 安装 kratos 命令工具
# 使用默认模板创建项目kratos new helloworld
# 如在国内环境拉取失败, 可 -r 指定源kratos new helloworld -r https://gitee.com/go-kratos/kratos-layout.git
# 进入项目目录cd helloworld
# 拉取项目依赖go mod download
如果拉取依赖遇到网络问题,建议 配置GOPROXY
# 安装依赖go get github.com/google/wire/cmd/wire@latest# 生成所有proto源码、wire等等go generate ./...
# 运行项目kratos run
# 输出INFO msg=config loaded: config.yaml format: yaml # 默认载入 configs/config.yaml 配置文件INFO msg=[gRPC] server listening on: [::]:9000 # gRPC服务监听 9000 端口INFO msg=[HTTP] server listening on: [::]:8000 # HTTP服务监听 8000 端口
测试HTTP接口
相关逻辑代码位于 internal/service/greeter.go
curl 'http://127.0.0.1:8000/helloworld/kratos'# 输出:{ "message": "Hello kratos"}
curl 'http://127.0.0.1:8000/helloworld/error'# 输出{ "code": 404, "reason": "USER_NOT_FOUND", "message": "user not found: error", "metadata": {}}
Kratos 通过 Git 仓库进行模板管理,创建项目时通过拉取模板进行初始化。对应模板地址:
⭐ 项目布局详解 Go工程化 - Project Layout 最佳实践
您也可以自行创建模板,以减免每次都需要进行的繁琐工作