api
image.png
image.png
- api.bm.go文件,api.pb.go文件是对外提供的接口文件,这两个文件主要是由api.proto文件通过指令自动生成的。主要接口是http服务和grpc服务接口
- client.go是grpc客户端代码示例,可以参照此代码来创建grpc客户端
- 测试bm和pb文件生成过程。首先删除bm和pb文件,打开goland的Terminal终端进入到api目录,输入命令:
kratos tool protoc --bm --grpc //bm是生成bm文件参数,grpc是生成pb文件参数,可以指定生成某一个文件,一般这两个参数必须有
- api目录下重新生成bm和pb文件
- 第一次执行该指令时需要下载依赖包和kratos-protoc指令。成功后可以在GoPath目录下的bin文件夹下看到有kratos-protoc文件。以后就可以使用kratos-protoc指令来生成bm和pb文件, 不管是在新的项目中还是其他地方都可以使用该指令生成proto对应的bm和pb文件
- 删除bm和pb文件打开终端进入到api目录,输入指令
kratos-protoc --bm --grpc
image.png
- 如果需要swagger文档需要带参数 --swagger 就可以生成 api.swagger.json文件。swagger主要是提供给对接方接口说明
- 通过一下指令打开api.swagger.json文档
kratos tool swagger serve ./api.swagger.json //需要下载依赖包和命令工具
成功之后会生成链接,打开该链接就可以弹道swagger在线文档
- 以后在打开swagger.json文件可以直接使用swagger serve -p port ./api.swagger.json。-p指定 swagger服务端口
cmd
- main.go是整个工程的入口文件。
-
主要分为4个部分image.png
- 1 日志接口初始化,该日志接口时kratos封装的,Init可以带参数,参数主要是配置保存日志的文件目录和名字,以及日志文件的大小,等级,格式等等信息。可以参考官网说明配置。不配置的话就是将日志打印在终端。
-
2 读取配文件初始化。Init可以传递参数,参数主要是读取什么地方的配置文件。默认不填写的话是读取本地configs目录下的配置文件。我们项目中是读取的Apollo远程配置中新的配置文件。因此该配置参数为
Apollo安装配置参考百度。注意如果使用远程配置中心配置,需要添加环境变量,可以参考kratos和Apollo官网
image.png
以后会对该配置进行详细说明。目前学习的话先暂时使用本地配置
configs
image.png
image.png
- 主要是一些配置文件的说明,格式采用过的是toml。可以简单学习一下toml文件格式
- 根据文件名称就可以区分是啥配置文件,可以具体点进去看一下
- 服务开发过程中遇到的配置都可以独立成一个toml配置文件
internal
image.png
image.png
test
- 测试的一些配置文件,可以直接忽略