欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Protocol message EditOrderReq has no “your_definition“ field

程序员文章站 2022-05-30 12:17:14
...

问题描述:

服务器终端最后关键两行的报错如下:

ERROR req = order_pb2.EditOrderReq(**self.params)
ValueError: Protocol message EditOrderReq has no "order_channel" field

它的意思是web层在调用微服务层的时候,经过中间的grpc,proto定义的EditOrderReq请求中没有定义order_field这个字段,但是呢,请求的数据self.params中有order_field这个字段,所以系统才报错的。

解决途径:

问题都知道了,解决就很简单了,在proto中的EditOrderReq中定义order_field字段,或者在请求中删除order_field字段,这个根据你实际编码的需求而定。

后续辅助步骤:

在改完proto后需要对它重新编译,因为它是独立于web和微服务的,在终端进入到存放你grpc文件的位置,找到有make.sh文件的文件夹,然后执行指令

sh make.sh

make.sh是集很多指令的一个编译文件,重新编译后就好啦

 

希望能对你有所帮助,如有疑问,欢迎评论,希望能与你一起讨论,当然也期待点个赞以示鼓励啦

相关标签: 微服务 postman