自己动手实现dubbo接口测试工具

发表于:2019-8-19 10:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:亘井    来源:软件编程之路

分享:
  一、前言
  dubbo框架对于java开发来说并不陌生,通常新增一个dubbo接口,我们可以直接用telnet测试。但是工作中有时遇到一些dubbo接口的实现会获取上下文中的信息,如果需要测试的话就只能另外编写代码设置上下文,调用接口实现,相对来说会比较麻烦。闲暇之际基于springboot做了个小工具解决这个问题,希望可以帮助有需要的同学,源码地址为
  https://github.com/xhjcehust/dubbo-invoker,欢迎fork或star~
  二、功能
  实现http->dubbo的转换,任意dubbo接口都可以通过http请求来转发代理实现,支持dubbo attachments,可部署用于测试环境的dubbo接口调试
  三、原理
  原理比较简单,http请求经过dubbo-invoker解析之后,泛化调用到后端dubbo provider,执行完成后将结果返回,整个数据流程如下:
  四、用法
  1.本地启动注册中心zk
  默认注册中心的地址是zookeeper://127.0.0.1:2181,
  如需替换,修改
  dubbo-invoker-provider/src/main/resources/dubbo-demo-provider.xml 和
  dubbo-invoker-proxy/src/main/resources/application.properties中的注册中心配置
  2.启动示例dubbo-invoker-provider
 org.github.xhjcehust.dubbo.provider.Provider#main
  注:dubbo-invoker-provider仅用于provider demo展示,如果已经部署了dubbo provider,可跳过此步骤
  3.启动dubbo-invoker-proxy:
 org.github.xhjcehust.dubbo.proxy.DubboInvokerApplication#main
  4.http请求示例
  curl请求:
   curl -H "Content-type: application/json" -X POST -d '
  {
  "interfaceName": "org.github.xhjcehust.dubbo.provider.api.EchoService",
  "methodName": "echoPojo",
  "argTypes": [
  "org.github.xhjcehust.dubbo.provider.model.Pojo"
  ],
  "argObjects": [
  {
  "count": 1,
  "value": "val"
  }
  ],
  "version": "1.0",
  "group": "test",
  "attachments": {
  "key": "value"
  }
  }' http://127.0.0.1:8080/dubboInvoker/index
  返回:
{"count":1,"class":"org.github.xhjcehust.dubbo.provider.model.Pojo","value":"val"}
  postman请求:

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号