问题描述:
服务器终端最后关键两行的报错如下:
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是集很多指令的一个编译文件,重新编译后就好啦
希望能对你有所帮助,如有疑问,欢迎评论,希望能与你一起讨论,当然也期待点个赞以示鼓励啦