Ruby生成的grpc类服务名称冲突

问题描述 投票:0回答:1

我有一个奇怪的情况,消息名称与我的原型定义(即服务)中生成的类相同>>

例如:原始文件

service Dummy {
rpc Register(RegisterServiceRequest) returns Service {}
}

message Service {
    string name = 1;
}

当我生成grpc服务时,它变为

pb.rb文件

module ...
  module ...
    class Service

      include GRPC::GenericService

      self.marshal_class_method = :encode
      self.unmarshal_class_method = :decode
      self.service_name = 'some.Dummy'


      rpc :Register, RegisterServiceRequest, Service

  end

    Stub = Service.rpc_stub_class
  end
end

[当我尝试运行时,它抛出argumenterror以下

/ Library / Ruby / Gems / 2.6.0 / gems / grpc-1.23.0-universal-darwin / src / ruby​​ / lib / grpc / generic / service.rb:126:in assert_can_marshal

/ Library / Ruby / Gems / 2.6.0 / gems / grpc-1.23.0-universal-darwin / src / ruby​​ / lib / grpc / generic / service.rb:94:in`rpc'

如何解决此问题?生成服务pb.rb文件时是否可以覆盖class Service的名称

[我有一个奇怪的情况,消息名称与我的原型定义中的生成类相同,即,服务用于ex:原型文件服务Dummy {rpc Register(RegisterServiceRequest)返回...

ruby-on-rails ruby rubygems grpc
1个回答
1
投票
冲突在这里:
© www.soinside.com 2019 - 2024. All rights reserved.