实现Dubbo接口测试工具的方法 - 极悦
首页 课程 师资 教程 报名

实现Dubbo接口测试工具的方法

  • 2022-03-18 12:28:51
  • 2375次 极悦

1.前言

dubbo框架对于java开发来说并不陌生,通常新增一个dubbo接口,我们可以直接用telnet测试。但是工作中有时遇到一些dubbo接口的实现会获取上下文中的信息,如果需要测试的话就只能另外编写代码设置上下文,调用接口实现,相对来说会比较麻烦。

2.功能

实现http->dubbo的转换,任意dubbo接口都可以通过http请求来转发代理实现,支持dubbo attachments,可部署用于测试环境的dubbo接口调试

3.原理

原理比较简单,http请求经过dubbo-invoker解析之后,泛化调用到后端dubbo provider,执行完成后将结果返回,整个数据流程如下:

4.用法

(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请求:

以上就是关于“实现Dubbo接口测试工具的方法”介绍,大家如果想了解更多相关知识,不妨来关注一下极悦的Java极悦在线学习,里面的课程内容细致全面,从入门到精通,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交