micro/go-micro

Doesn't go-micro support lowercase grpc method name in proto ?

Closed this issue · 1 comments

Discussed in #2697

Originally posted by PerfecterDay March 14, 2024
Hi @asim , I have a proto file defined a rpcc service below :

service Greeter {
  rpc handle (Request) returns (Response) {
  }
}

in xxx.pb.micro.go, Handle method generated. And I have debug a little, find out go-micro use reflect to get the service name and method, and then register them in somewhere.
but I see in xxx.pb.micro.go, it use lowercase method to gennerate request. This will lead 'unknown service Greeter.handle'

func (c *greeterService) Handle(ctx context.Context, in *Request, opts ...client.CallOption) (*Response, error) {
	req := c.c.NewRequest(c.name, "Greeter.handle", in)
	out := new(Response)
	err := c.c.Call(ctx, req, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

So my question is does go-micro only support uppercase name ? Any suggetion will be appreciate

asim commented

No, lowercase names are not supported. That would be a private method.