对外的接口 定义我们使用 protobuf , 总入口在 api.proto 文件里面
api.proto 文件里面只定义 对应的模块的 Service rpc 方法
service apiPostService {
// 岗位管理 新增一个岗位
rpc PostAddOne (PostAddRequest) returns (PostAddResponse) {option (api.post) = "/post/PostAddOne";}
// 岗位管理 删除多个岗位
rpc PostDel (PostDelRequest) returns (PostDelResponse) {option (api.post) = "/post/PostDel";}
// 岗位管理 查询岗位列表
rpc PostQry (PostQryRequest) returns (PostQryResponse) {option (api.post) = "/post/PostQry";}
// 岗位管理 修改单个岗位信息
rpc PostModify (PostModifyRequest) returns (PostModifyResponse) {option (api.post) = "/post/PostModify";}
}
- service 名称的命名为: Api[模块]service
- rpc 方法 名称定义 一定要语意化
- rpc 对应 方法 统一为的 api.post
- api.post 定义的path 规则为:/[模块]/[rpc 方法]
示例:参考上面的代码块
具体的 rpc 方法的参数和响应定义到一个单独的模块文件中 创建文件的规则为: api_[模块].proto
使用创建的 模块文件 在 api.proto文件中 import 进去
问题
- import 后 golang 不能智能跳转