Models.proto

syntax = "proto3";
package services; //商品模型
message ProdModel {
int32 prod_id = 1;
string prod_name = 2;
float prod_price = 3;
}

Prod.proto

syntax = "proto3";
package services;
import "google/api/annotations.proto";
import "Models.proto"; //引入Models.proto
message ProdRequest {
int32 prod_id = 1; //传入id
} message ProdResponse {
int32 prod_stock = 1; //商品库存
} message QuerySize {
int32 size = 1; //页尺寸,这里的1并不是默认值,而是字段的顺序,如果有其他参数就就写2
} message ProdResponseList {
repeated ProdResponse prodres = 1; //返回了一堆商品库存,使用了repeated修饰符
} enum ProdAreas {
A = 0;
B = 1;
C = 2;
} message ProdRequest2 {
int32 pro_id = 1; //传入的商品id
ProdAreas prod_area = 2;
} service ProdService {
rpc GetProdStock (ProdRequest) returns (ProdResponse) {
option (google.api.http) = {
get: "/v1/prod/{prod_id}" //和request中的prod_id对应,不能写错
};
}
rpc GetProdStock2 (ProdRequest2) returns (ProdResponse) {
option (google.api.http) = {
get: "/v1/prod/{prod_id}" //和request中的prod_id对应,不能写错
};
}
rpc GetProdStocks (QuerySize) returns (ProdResponseList){}; //定义了参数是QuerySize
rpc GetProdInfo(ProdRequest) returns (ProdModel){} //因为引用了Models.proto文件可以直接返回其中定义的结构体模型
}

最新文章

  1. jQuery使用方法
  2. Ajax PHP项目实战
  3. tomcat配置文件详解
  4. 验证备份前设置CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF; 的区别
  5. 使用 jsPlumb 绘制拓扑图 —— 异步加载与绘制的实现
  6. JavaScript高级程序设计51.pdf
  7. angular2 学习笔记 ( ngModule 模块 )
  8. nginx对于Yii2的前后台的配置
  9. LNMP的安装
  10. BNU Online Judge-34976-数细菌
  11. java面向对象浅析
  12. Java入门(4)——常见的String方法
  13. requests 进阶用法学习(文件上传、cookies设置、代理设置)
  14. JMeter在linux服务器上使用
  15. 移动开发常用meta设置
  16. 2--JAVA+Maven+TestNG搭建接口测试框架搭建
  17. Xamarin.Android之SQLite.NET ORM
  18. CANVAS实现调色板 之 我的第一个随笔
  19. Linux常用命令(三)————创建+删除+设置权限
  20. 如何使用yii2的缓存依赖特性

热门文章

  1. JavaNetty
  2. (一) CentOS 7 进行 Docker CE 安装
  3. Centos Consul集群及Acl配置
  4. Unity VS2017 调试外部DLL
  5. JS权威指南读书笔记(七)
  6. xcode 4 制作通用静态库
  7. 【转】简易剖析Hadoop作业工作机制
  8. C#入门概述
  9. Linux的环境配置文件----.bashrc文件(转)
  10. c# System.Collections接口图