Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 2.05 KB

API Protobuf 接口定义规范.md

File metadata and controls

37 lines (28 loc) · 2.05 KB

对外的接口 定义我们使用 protobuf , 总入口在 api.proto 文件里面

image.png 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 进去

问题

  1. import 后 golang 不能智能跳转

手动配置 导入 idl 文件路径 image.png