在正常情况下,测试GRPC服务直接通过客户端请求服务器。如果客户端尚未准备就绪,您还可以使用BloomRPC等GUI客户端。
如果环境不支持该GUI客户端的安装,是否有与此类似的工具,直接通过终端在命令行中启动请求?
答案肯定在那里,这是在本文中介绍的。
首先编写一个简单的GRPC服务器:
helloworld.proto:
main.go
软件包主要导入(“ context”“ fmt”“”“ grpc-hello/proto”“ log”“”,google.golang/grpc“” Google.golang/grpc/reflefleflefleflefleflefleflefleflefleflefleflefleflefleflefleflefleflection),err:= net.listen(= net.listen)“,”:50051”)如果er!= nil {log.fatalf(“无法收听:%v”,err)} server:= grpc.newserver()// regissherreflection.register.register(server)//注册的商业服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务;呃!= nil {log.fatalf(“无法使用:%v”,err)}} type engreter struct {} func(*enterer)sayhello(ctx context.context.context,req*proto.hellorequest)){fmt.println(req)回复:=&proto.helloreply {消息:“ hello”}返回回复,nil}
运行服务:
在这里,我介绍了三种方法:
苹果
Docker
如果GO工具具有GO环境,则可以通过GO工具安装它:
使用GRPCURL时,您需要通过参数设置公共密钥和私钥文件,这表明TLS协议的链接由链接启用。
对于不启用TLS协议的GRPC服务,通过参数忽略TLS证书的验证过程。
如果是UNIX套接字协议,则需要指定参数。
查看服务列表:
输出:
查看特定服务的方法列表:
输出:
查看方法定义:
输出:
查看请求参数:
输出:
请求服务:
输出:
也可以遵循这些参数,表明从标准输入中输入JSON参数,该参数通常用于输入更复杂的JSON数据,也可以用于测试流量方法。
可能有三个错误:
1. GRPC服务器未启用TLS:
错误信息:
解决:
请求时添加参数:请参阅上述命令。
2.该服务未启动反思反射服务
错误信息:
解决:
这条代码是密钥,必须包括:
软件包主要导入(“ context”“ fmt”“”“ grpc-hello/proto”“ log”“”,google.golang/grpc“” Google.golang/grpc/reflefleflefleflefleflefleflefleflefleflefleflefleflefleflefleflefleflection),err:= net.listen(= net.listen)“,”:50051”)如果er!= nil {log.fatalf(“无法收听:%v”,err)} server:= grpc.newserver()// regissherreflection.register.register(server)//注册的商业服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务服务;呃!= nil {log.fatalf(“无法使用:%v”,err)}} type engreter struct {} func(*enterer)sayhello(ctx context.context.context,req*proto.hellorequest)){fmt.println(req)回复:=&proto.helloreply {消息:“ hello”}返回回复,nil} 9
3.参数格式错误:
错误信息:
解决:
后续参数是JSON格式,需要包装。
使用此工具进行一些简单的测试非常方便,并且可以简单地开始。
扩展阅读:
文章中的大脑图和源代码已上传到GitHub,需要它的学生可以下载。
地址:https://github.com/yongxinz/gopher/tree/main/blog