背景
有2个微服务A和B,在A微服务中引用了B的proto,也就是请求A服务,A服务调用B服务的内容,并且修改了其中一个message中的字段,修改的proto文件message的内容如下:原来的内容是int32 shop_id = 2 [(validate.rules).int32.gt = 0];
message DeleteAdReq {
int32 id = 1;
int32 shop_id = 12 [(validate.rules).int32.gt = 0];
}
调用A的时候,没有问题,可以拿到shop_id这个字段,但是传到B服务的时候,B服务接收到是12,不是shop_id,可以看下面的截图:上面的框表示,没有手动shop_id,而是shop_id变成12了。

解决方式
拷贝proto后不要修改
原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/1382/%e7%bd%91%e7%bb%9c%e5%bc%80%e5%8f%91/

相关推荐
-
前端学习记录之一:函数式编程
本节回顾 1.函数式编程(核心思想:把运算过程抽象成函数) 2.函数相关复习(函数是一等公民,高级函数,闭包) 3.函数式编程基础(lodash,纯函数,柯里化,管道,函数组合) …
-
构建自己的脚手架过程大致记录
脚手架就是在启动的时候询问一些简单的问题,并且通过用户回答的结果去渲染对应的模板文件。 工作流程: 1.根据命令行交互询问用户问题 2.根据用户回答的结果生成文件 脚手架的简单雏形…
-
面试xx资本(私募基金)Python高级工程师
面试的问题都比较常见,我没有准备好。下面的题目答案仅供参考。今天二面过了,给了offer。 面试体验一般,hr不够热情,相比大点的公司来讲,没有提前通知面试,面试官上来就直接问问题…
-
前端面试题:Http code 301和 302区别
总结:301是永久跳转并且有缓存,而302是临时跳转,没有缓存。 使用场景:当迁移域名当时候,网站域名是永久性转移,这时可以用301; 而当只是在服务器内部跳转,比如访问服务器a….
-
go开发生产上使用的dockerfile 模板
避免重复写Dockerfile,可以借用下面的dockerfile模板 新建Dockerfile 在Dockerfile同级别目录执行,把hello-word替换成你的项目名称(跟…
-
golang sync.waitgroup的一个错误用法
close位置问题 错误用法 正确用法 close()得在wait前面 控制每秒并发多个 添加 time.Sleep(time.Second)
-
grpc请求超时处理
错误描述 grpc默认超时时间是1s,有些框架是500ms,当超时了会报如下错误: 客户端 client连接 controller 服务端增加超时 controller
-
go微服务一个错误:rpc error: code = Unimplemented desc = unknown service xxx
前言:当你的微服务需要连接其他的人的微服务,他会给你提供一个proto文件,当你调用他们的方法的时候,一直报错误:,一开始以为是服务地址写错了。后面查了一下,是go 语言中,pro…