- 注册
- 登录
- 获取用户信息
- 批量获取用户信息
- 更新用户信息
- 更新用户密码
以下命令执行都是在根目录下执行
可以使用 eagle proto add api/user/v1/user.proto 的方式新建proto文件
执行后,会在对应的目录下生成一个 proto 文件,里面直接写业务定义就可以了。
有两种方式可以生成:
make grpc
或
eagle proto client api/user/v1/user.proto
都会生成两个文件 api/user/v1/user.pb.go 和 api/user/v1/user_grpc.pb.go
eagle proto server api/user/v1/user.proto
执行该命令后,会在 internal/service 下 多一个 user_grpc.go 文件。
在 internal/service/user_svc.go 里直接写业务逻辑接口。
在 internal/service/user_grpc.go 中将 user_grpc.go 转为pb输出的方式。
在 internal/server/grpc.go 中新增 v1.RegisterUserServiceServer(grpcServer, service.NewUserService())
在根目录下执行以下命令
# 运行 make run # 生成 docker 竞相,v1.0.0 对应仓库打的上线tag make GIT_TAG=v1.0.0 docker ` grpc即可正常启动 ## 调试 ### 安装 grpcurl ```bash go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
正常返回
➜ ~ grpcurl -plaintext -d '{"email":"12345678@cc.com","username":"admin8","password":"123456"}' localhost:9090 user.v1.UserService/Register { "username": "admin8" }
异常返回
➜ ~ grpcurl -plaintext -d '{"email":"1234567@cc.com","username":"admin7","password":"123456"}' localhost:9090 user.v1.UserService/Register ERROR: Code: Code(20100) Message: The user already exists. Details: 1) {"@type":"type.googleapis.com/micro.user.v1.RegisterRequest","email":"1234567@cc.com","password":"123456","username":"admin7"}
# 直接运行 go run cmd/cron/main.go -c=config -e=dev # 编译 go build -o cron cmd/cron/main.go # 运行 ./cron -c=config -e=env 或者 APP_ENV ./cron -c=config