更新時間:2022-03-18 12:28:51 來源:動力節點 瀏覽2614次
dubbo框架對于java開發來說并不陌生,通常新增一個dubbo接口,我們可以直接用telnet測試。但是工作中有時遇到一些dubbo接口的實現會獲取上下文中的信息,如果需要測試的話就只能另外編寫代碼設置上下文,調用接口實現,相對來說會比較麻煩。
實現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請求:
以上就是關于“實現Dubbo接口測試工具的方法”介紹,大家如果想了解更多相關知識,不妨來關注一下動力節點的Java在線學習,里面的課程內容細致全面,從入門到精通,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習