首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >gRPC调试工具推荐

gRPC调试工具推荐

作者头像
崔哥
发布2022-11-06 09:49:17
发布2022-11-06 09:49:17
1.3K1
举报
文章被收录于专栏:崔哥的专栏崔哥的专栏

在介绍工具之前先说一个情况,就是你用某个工具调试时,会发现,有的项目无需手动导入.proto文件,工具就能列出所有method,有些则不行。这是因为项目注册了反射,先看下怎么注册反射

就是这样,下面开始介绍工具

Postman

这个我觉得是最好的

gRPC UI

gRPC的交互式Web用户界面,类似postman

安装

代码语言:javascript
复制
go install github.com/fullstorydev/grpcui/cmd/grpcui@latest

使用

代码语言:javascript
复制
# no TLS
cuiwei@weideMacBook-Pro ~ % grpcui -plaintext localhost:9087
gRPC Web UI available at http://127.0.0.1:61784/

Evans

Evans:更具表现力的通用gRPC客户端

安装

代码语言:javascript
复制
go install github.com/ktr0731/evans@latest

使用

代码语言:javascript
复制
cuiwei@weideMacBook-Pro ~ % evans -r repl --host localhost -p 9087

  ______
 |  ____|
 | |__    __   __   __ _   _ __    ___
 |  __|   \ \ / /  / _. | | '_ \  / __|
 | |____   \ V /  | (_| | | | | | \__ \
 |______|   \_/    \__,_| |_| |_| |___/

 more expressive universal gRPC client

blog.v1.BlogService@localhost:9087> show service
+-------------+---------------------+----------------------------+-----------------------------+
|   SERVICE   |         RPC         |        REQUEST TYPE        |        RESPONSE TYPE        |
+-------------+---------------------+----------------------------+-----------------------------+
| BlogService | AdminLogin          | AdminLoginRequest          | AdminLoginResponse          |
| BlogService | AdminFindpasswd     | AdminFindpasswdRequest     | AdminFindpasswdResponse     |
+-------------+---------------------+----------------------------+-----------------------------+

blog.v1.BlogService@localhost:9087> call AdminDetail
admin_id (TYPE_INT64) => 5
{
  "avatar": "data/upload/avatar/5.jpg",
  "createTime": "1662222060",
  "email": "test@qq.com",
  "id": "5",
  "init": "1",
  "mobile": "18666666666",
  "nickname": "nick2..",
  "status": "1",
  "updateTime": "1664943345",
  "username": "admin22"
}

gRPCurl

像cURL一样,但它属于gRPC:用于与gRPC服务器交互的命令行工具

https://github.com/fullstorydev/grpcurl

安装

代码语言:javascript
复制
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest

使用

代码语言:javascript
复制
# no TLS
cuiwei@weideMacBook-Pro ~ % grpcurl -plaintext -d '{"to_aid": 5}' localhost:9087 blog.v1.BlogService/Admin2Detail
{
  "id": "5",
  "username": "admin22",
  "nickname": "nick2..",
  "email": "test@qq.com",
  "mobile": "18666666666",
  "avatar": "data/upload/avatar/5.jpg",
  "init": "1",
  "status": "1",
  "createTime": "1662222060",
  "updateTime": "1664943345"
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Postman
  • gRPC UI
  • Evans
  • gRPCurl
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档