-
在utils目录中新建一个swap.go文件
-
swap.go中主要存放一些可以使用到的一些公共函数
-
导包:
import (
"account/domain/model"
. "account/proto/account"
"encoding/json"
"google.golang.org/protobuf/types/known/timestamppb"
)
二 SwapTo 通过json tag 进行结构体赋值
- 此函数主要用于将客户端传来的数据解析到结构体中
- 还用于将数据解析传给客户端
// SwapTo 通过json tag 进行结构体赋值
func SwapTo(request, category interface{}) (err error) {
dataByte, err := json.Marshal(request)
if err != nil {
return
}
return json.Unmarshal(dataByte, category)
}
三 UserForResponse 类型转化
- 此函数用于将数据库查出的数据赋值给Response传给客户端
// UserForResponse 类型转化
func UserForResponse(response *UserInfoResponse, userModel *model.User) *UserInfoResponse {
response.UserId = userModel.ID
response.Username = userModel.UserName
response.FirstName = userModel.FirstName
response.LastName = userModel.LastName
response.Email = userModel.Email
response.IsActive = userModel.IsActive
response.Permission = userModel.Permission
response.CreateDate = timestamppb.New(userModel.CreateDate)
response.UpdateDate = timestamppb.New(userModel.UpdateDate)
return response
}
四 最后
-
至此,go-micro微服务公用函数开发工作就正式完成。
-
接下来就开始服务层Handle层的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。