服务调用
完成rpc访问功能后,还需要进行客户端调用,会用到goctl 的api功能;创建api目录编写api文件;api相关语法可以参考官方文档:api语法介绍
1、API文件编写
其中 登录注册增加了参数验证,使用 validator 包进行验证详细使用方法可以到 github.com/go-playground/validator 查看
syntax = "v1"
type (
LoginRequest {
Email string `json:"Email" validate:"required,email"`
Password string `json:"password" validate:"required,gte=8"`
}
LoginResponse {
AccessToken string `json:"accessToken"`
AccessExpire int64 `json:"accessExpire"`
}
RegisterRequest {
Name string `json:"name" validate:"required,gte=2,lte=20"`
Gender int64 `json:"gender" validate:"oneof=1 2"`
Email string `json:"Email" validate:"required,email"`
Password string `json:"password" validate:"required,gte=8"`
}
RegisterResponse {
Id int64 `json:"id"`
Name string `json:"name"`
Gender int64 `json:"gender"`
Email string `json:"Email"`
}
UserInfoRequest {
}
UserInfoResponse {
Id int64 `json:"id"`
Name string `json:"name"`
Gender int64 `json:"gender"`
Email string `json:"Email"`
}
)
service User {
@handler Login
post /api/user/login(LoginRequest) returns (LoginResponse)
@handler Register
post /api/user/register

本文档介绍了如何使用Goctl创建API,实现RPC服务调用,包括登录、注册和用户信息接口。服务层通过UserRpc调用业务逻辑,并利用validator包进行参数验证。执行goctl命令后,生成相应目录结构。最后展示了登录、注册和获取用户信息的逻辑代码,以及服务的启动和测试过程。
最低0.47元/天 解锁文章
1379

被折叠的 条评论
为什么被折叠?



