api.proto 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // 定义项目 API 的 proto 文件 可以同时描述 gRPC 和 HTTP API
  2. // protobuf 文件参考:
  3. // - https://developers.google.com/protocol-buffers/
  4. // - http://info.bilibili.co/display/documentation/gRPC+Proto
  5. // protobuf 生成 HTTP 工具:
  6. // - http://git.bilibili.co/platform/go-common/tree/master/app/tool/protoc-gen-bm
  7. // gRPC Golang Model:
  8. // - http://info.bilibili.co/display/documentation/gRPC+Golang+Model
  9. // gRPC Golang Warden Gen:
  10. // - http://info.bilibili.co/display/documentation/gRPC+Golang+Warden+Gen
  11. // gRPC http 调试工具(无需pb文件):
  12. // - http://info.bilibili.co/pages/viewpage.action?pageId=12877366
  13. // grpc 命令行调试工具(无需pb文件):
  14. // - http://info.bilibili.co/pages/viewpage.action?pageId=11869411
  15. syntax = "proto3";
  16. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  17. import "google/protobuf/empty.proto";
  18. // package 命名使用 {discovery_id}.{version} 的方式, version 形如 v1, v2, v1beta ..
  19. // NOTE: 不知道的 discovery_id 请询问大佬, 新项目找大佬申请 discovery_id,先到先得抢注
  20. // e.g. account.service.v1
  21. package demo.service.v1;
  22. // NOTE: 最后请删除这些无用的注释 (゜-゜)つロ
  23. option go_package = "api";
  24. // do not generate getXXX() method
  25. option (gogoproto.goproto_getters_all) = false;
  26. service Demo {
  27. rpc SayHello (HelloReq) returns (.google.protobuf.Empty);
  28. }
  29. message HelloReq {
  30. string name = 1 [(gogoproto.moretags)='form:"name" validate:"required"'];
  31. }