背景
有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/

相关推荐
-
docker教程系列之docker是什么
简介 Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructu…
-
记一次Proto Http请求报错问题:unKnow error: proto: (line 1:9): invalid value for int32 type: 100100013100
背景 kratos支持rpc和http方式进行通信,由于不同集群,不能进行内网通信,最终还是用http的方式,由于部门用的都是kratos,因此可以不用修改原来的通信方式,只是将之…
-
记录一次go mod tidy/go get安装私库错误信息
执行语句 go get -u codeup.aliyun.com/xxxx/commonlib 错误信息如下 解决方式 问题原因是没有权限访问这个,如果是阿里云的codeup平台,…
-
grpc请求超时处理
错误描述 grpc默认超时时间是1s,有些框架是500ms,当超时了会报如下错误: 客户端 client连接 controller 服务端增加超时 controller
-
构建自己的脚手架过程大致记录
脚手架就是在启动的时候询问一些简单的问题,并且通过用户回答的结果去渲染对应的模板文件。 工作流程: 1.根据命令行交互询问用户问题 2.根据用户回答的结果生成文件 脚手架的简单雏形…
-
go协程中,main中无法捕获子协程的panic
在go中,虽然协程很好用,但是需要注意捕获他的异常,不如在生产环境中,子协程panic了,你的整个服务都会挂掉 错误示例 正确用法
-
python后端开发面试-垃圾回收
python垃圾回收机制是以引用计数为主,标记清除,分代回收为辅。 引用计数 在cpython中,引用计数的数据结构是这样的 ob_refcnt是记录对象被引用的次数,如果值为0,…