gPPC 调试工具(for go)
Table of Contents
1. grpcurl
Github: https://github.com/fullstorydev/grpcurl
Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
问题:
Failed to dial target host "localhost:1234": tls: first record does not look like a TLS handshake
加上 -plaintext
即可。
问题:
Failed to list services: server does not support the reflection API
需要在项目中注册 reflection。
常用命令
- 查看 RPC 服务:
grpcurl -plaintext 127.0.0.1:50051 list
- 查看 RPC 接口:
grpcurl -plaintext 127.0.0.1:50051 list <service_name>
- 描述定义:
grpcurl -plaintext 127.0.0.1:50051 list <message/rpc-interface>
- 调用方法:
grpcurl -plaintext -d '{json_body}' 127.0.0.1:50051 <rpc-interface>
比如:grpcurl -plaintext -d '{"type": "1"}' 127.0.0.1:50051 libproto.EventRPC.ListEvents
-d
后面加上@
支持从标准输入中读取流参数。 - 添加 metadata
-H 'key:value'