记一次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…
-
重学Python基础篇(一)之认识python
前言 在我刚毕业的时候Python语言就非常火了,随之而来的就是招人单位,python岗位的激增,但同时增加的还有培训单位,这也造成了市场的饱和。就我个人而已,python web…
-
安装gitlab runner 和配置.gitlab.yaml 实现自动化cicd
前面有讲到如何安装gitlab,它本身不仅仅可以实现代码仓库版本管理,当然可以做到cicd,简化手动部署到烦扰,实现自动化编译和部署 要做实现cicd,如果是虚拟机部署到话,当然离…
-
前端面试题—平安前端面试题
1.mixin混入,以后自身生命周期和混入周期的具体实现,mixin的具体实现 定义:分发vue中可复用的功能,本质是一个js对象,它可以包含我们组件中任意功能选项,如data、c…
-
记录一次go mod vendor 没有同步所有的package
注意 :go mod vendor 只同步被代码使用过或者引用过的package,如果你发下go mod tidy明明将包都下载下来了,但是vendor文件夹少了几个package…
-
kubeadm安装单节点master
环境 centos7.6 三台虚拟机,一个master,2个node 192.168.0.11 master 192.168.0.12 node 192.168.0.13 node…
-
Python通过mac地址唤醒电脑
需求 家中nas需要定时唤醒 远程在外唤醒家中的电脑 直接上代码 说明 mac地址可以在自己的路由器中获取 网络唤醒,需要被唤醒的机器主板支持网络唤醒,记得在bios设置 通过外网…
-
python后端开发面试-垃圾回收
python垃圾回收机制是以引用计数为主,标记清除,分代回收为辅。 引用计数 在cpython中,引用计数的数据结构是这样的 ob_refcnt是记录对象被引用的次数,如果值为0,…
-
python后端开发面试-线程、进程、协程
简介 理解并发和并行 并行对应的是多进程 并发对应的是协程、线程(异步编程) 协程 协程之在python2中的yield使用 在python2中由于没有原生的协程,只有基于生成器的…