记一次Proto Http请求报错问题:unKnow error: proto: (line 1:9): invalid value for int32 type: 100100013100
背景
kratos支持rpc和http方式进行通信,由于不同集群,不能进行内网通信,最终还是用http的方式,由于部门用的都是kratos,因此可以不用修改原来的通信方式,只是将之前rpc创建连接的方式改为http,
原来的连接方式:transGrpc.DialInsecure修改为http.NewClient
问题:
错误提示也很明显,返回的类型不能用int32转化,对方的接口直接用postman请求没有问题,因为我们的proto文件是相同的,那么请求参数返回参数都是一致的,通过检查参数得知,这个100100013100 是返回参数,而我们的返回参数接受的code刚好是int32,修改为64就没有这个问题。
但是,但是,如果我们的proto文件是同一个仓库地址,那么意味着我修改,他们那边也会修改,因此这种方式并不好。那只能修改code为int32的值了。
原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/2504/%e7%bd%91%e7%bb%9c%e5%bc%80%e5%8f%91/

相关推荐
-
前端学习记录之三:手写Promise源码
一、初始化版本 1.Promise 就是一个类 在执行这个类的时候 需要传递一个(回调函数)执行器进去 执行器立即执行 2.Promise有三种状态 fulfilled rejec…
-
面试xx资本(私募基金)Python高级工程师
面试的问题都比较常见,我没有准备好。下面的题目答案仅供参考。今天二面过了,给了offer。 面试体验一般,hr不够热情,相比大点的公司来讲,没有提前通知面试,面试官上来就直接问问题…
-
golang基础面试题
自己除了找python相关的岗位,还想找一下go的岗位,有转语言的倾向。但我自由半年的项目经验。 谈谈对defer的认识 defer用于资源的释放,会在函数返回之前进行调用,它会经…
-
前端面试题—平安前端面试题
1.mixin混入,以后自身生命周期和混入周期的具体实现,mixin的具体实现 定义:分发vue中可复用的功能,本质是一个js对象,它可以包含我们组件中任意功能选项,如data、c…
-
python后端开发面试-redis缓存
默认16个数据库 五中数据结构 string list(列表) set(集合) zset(有序列表) hash(字典) 理解穿透、击穿、雪崩及其处理方法 redis怎样实现分布式锁…
-
Leecode – 反转单链表
原题 输入[1,2,3,4,5] 输出[5,4,3,2,1] https://leetcode-cn.com/problems/reverse-linked-list/ 解答 思路…
-
go开发生产上使用的dockerfile 模板
避免重复写Dockerfile,可以借用下面的dockerfile模板 新建Dockerfile 在Dockerfile同级别目录执行,把hello-word替换成你的项目名称(跟…
-
docker教程系列之docker是什么
简介 Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructu…
-
golang同目录调用其他文件函数的用法
问题复现 解决方法 这个应该是新手常见的问题,golang的包管理方式,这个运行错误是由于你执行了main.go,而没有编译其他go文件,当然不知道run函数哪里来的 正确方式 g…
-
记录一次go mod tidy/go get安装私库错误信息
执行语句 go get -u codeup.aliyun.com/xxxx/commonlib 错误信息如下 解决方式 问题原因是没有权限访问这个,如果是阿里云的codeup平台,…