后端开发
基于 Golang - go-kratos 项目搭建的后端,具备一定的知识有利于开发。
Windows 系统建议使用 WSL 2 进行开发。
开发流程 & 启动流程
- 安装 Docker、Golang。
- 在
deployments目录中执行docker-compose -f docker-compose.yaml -f docker-compose.dependence.yaml -f seaweedfs-docker-compose.yaml up -d命令,会启动项目。 - 通过命令行进入
app/interface目录,执行make init安装一些依赖项。 - 通过命令行进入
tools/protoc-gen-go-http,执行go install替换原有 go-kratos 的 protoc-http 插件。 - 在
api/interface基于 protobuf 定义所需接口。 - 在
app/interface中编写你的代码,并在此目录中执行make http以基于api目录中的proto文件生成对应的go文件。 - 通过执行
docker restart jnoj-interface-api即可让后端的改动生效。
其它说明
- 接口鉴权中间件的使用,如何获取用户ID?
需要在接口定义的 proto 文件下建立一个同名的 yaml 文件,可参考已有的文件。执行
make http时,生成的http.pb.go中会加入jwt鉴权。在业务代码中,可通过jnoj/internal/middleware/auth.GetUserID(ctx)来获取到携带 jwt 的用户ID。