导入外部proto获取商品信息
2024-08-22 13:45:20
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文件可以直接返回其中定义的结构体模型
}
最新文章
- jQuery使用方法
- Ajax PHP项目实战
- tomcat配置文件详解
- 验证备份前设置CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF; 的区别
- 使用 jsPlumb 绘制拓扑图 —— 异步加载与绘制的实现
- JavaScript高级程序设计51.pdf
- angular2 学习笔记 ( ngModule 模块 )
- nginx对于Yii2的前后台的配置
- LNMP的安装
- BNU Online Judge-34976-数细菌
- java面向对象浅析
- Java入门(4)——常见的String方法
- requests 进阶用法学习(文件上传、cookies设置、代理设置)
- JMeter在linux服务器上使用
- 移动开发常用meta设置
- 2--JAVA+Maven+TestNG搭建接口测试框架搭建
- Xamarin.Android之SQLite.NET ORM
- CANVAS实现调色板 之 我的第一个随笔
- Linux常用命令(三)————创建+删除+设置权限
- 如何使用yii2的缓存依赖特性