Skip to content

go-microservice/user-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ee87e3a · Aug 22, 2024
Aug 10, 2024
Aug 22, 2024
Aug 22, 2024
Aug 21, 2024
Aug 11, 2024
Jan 3, 2022
Mar 5, 2022
Dec 17, 2022
Jan 3, 2022
Aug 21, 2024
Aug 11, 2024
Mar 5, 2022
Aug 11, 2024
Aug 11, 2024
Sep 10, 2022

Repository files navigation

user service

feature

  • 注册
  • 登录
  • 获取用户信息
  • 批量获取用户信息
  • 更新用户信息
  • 更新用户密码

开发流程

以下命令执行都是在根目录下执行

1. 编写 proto 文件

可以使用 eagle proto add api/user/v1/user.proto 的方式新建proto文件

执行后,会在对应的目录下生成一个 proto 文件,里面直接写业务定义就可以了。

2. 生成对应的pb文件

有两种方式可以生成:

make grpceagle proto client api/user/v1/user.proto

都会生成两个文件 api/user/v1/user.pb.goapi/user/v1/user_grpc.pb.go

3. 生成对应的server文件

eagle proto server api/user/v1/user.proto

执行该命令后,会在 internal/service 下 多一个 user_grpc.go 文件。

4. 编写业务逻辑

internal/service/user_svc.go 里直接写业务逻辑接口。

5. 转换service输出到pb

internal/service/user_grpc.go 中将 user_grpc.go 转为pb输出的方式。

6. 将业务注册到gRPC server 中

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

About

user service, Provide services with gRPC.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published