grpc的测试工具-grpcurl

发布于 2020-09-04 23:43:25 阅读 2865

Mac安装grpcurl

brew install grpcurl

查看某个grpc服务的列表

$ grpcurl -plaintext {host}:{port} list
grpc.MyService
grpc.reflection.v1alpha.ServerReflection

grpc.reflection.v1alpha.ServerReflection是GRPC注册的反射服务。通过这个服务可以查询包括本身在内的全部gRPC服务信息。 而grpc.MyService就是这个grpc提供的外部服务

查看grpc.MyService中提供的rpc方法列表

$ grpcurl -plaintext {host}:{port} describe grpc.MyService
service MyService {
  rpc ShowMeName ( .grpc.ShowMeNameReq ) returns ( .grpc.ShowMeNameResp );
}

如果我们没有proto文件的情况下,想查看某个函数的方法请求需要什么参数,那么我们可以使用如下方式获取请求参数

$ grpcurl -plaintext {host}:{port} describe grpc.ShowMeNameReq
grpc.ShowMeNameReq is a message:
message ShowMeNameReq {
  string name = 1;
}

请求grpc

$ grpcurl -plaintext -d '{"name":"zm"}' {host}:{port} grpc.MyService/ShowMeName
{
    "your name is zm"
}