官方文档
1 | https://go-kratos.dev/en/docs/getting-started/start/ |
1.安装Go#
参考:mac安装go1.20
2.安装Kratos框架#
kratos依赖protobuf grpc等框架,需要先进行安装
1 | brew install grpc |
验证
1 | protoc --version |
安装kratos框架
1 | go install github.com/go-kratos/kratos/cmd/kratos/v2@latest |
3.创建项目#
1 | # 创建项目 |
编译项目
1 | cd helloworld |
项目结构
Kratos项目如果想要使用debug模式来运行
需要将run kind从File修改成Directory,并指定Directory为main.go和wire_gen.go所在的目录,否则会报
1 | # command-line-arguments |
同时还需要额外指定conf文件的路径,否则会报
1 | panic: stat ../../configs: no such file or directory |
配置如下
或者修改成package,指定成package path
debug成功
如果想要添加额外的API,需要先添加proto文件
1 | kratos proto add api/helloworld/demo.proto |
编译proto文件生成model和grpc代码
1 | kratos proto client api/helloworld/demo/demo.proto |
或者使用make命令
1 | make api |
注意make api命令无法生成validate验证代码,需要额外使用make validate命令,但是kratos proto client命令是可以的
参考:https://go-kratos.dev/docs/component/middleware/validate/
生成service模板代码
1 | kratos proto server api/helloworld/demo/demo.proto -t internal/service |
参考文档:从0到1安装启动Kratos框架 和 https://go-kratos.dev/en/docs/getting-started/usage
4.Example项目#
1 | https://github.com/go-kratos/examples |