后端开发
基于 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。