更新時間:2022-03-18 12:28:51 來源:動力節(jié)點 瀏覽2848次
dubbo框架對于java開發(fā)來說并不陌生,通常新增一個dubbo接口,我們可以直接用telnet測試。但是工作中有時遇到一些dubbo接口的實現(xiàn)會獲取上下文中的信息,如果需要測試的話就只能另外編寫代碼設(shè)置上下文,調(diào)用接口實現(xiàn),相對來說會比較麻煩。
實現(xiàn)http->dubbo的轉(zhuǎn)換,任意dubbo接口都可以通過http請求來轉(zhuǎn)發(fā)代理實現(xiàn),支持dubbo attachments,可部署用于測試環(huán)境的dubbo接口調(diào)試
原理比較簡單,http請求經(jīng)過dubbo-invoker解析之后,泛化調(diào)用到后端dubbo provider,執(zhí)行完成后將結(jié)果返回,整個數(shù)據(jù)流程如下:
(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展示,如果已經(jīng)部署了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請求:
以上就是關(guān)于“實現(xiàn)Dubbo接口測試工具的方法”介紹,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容細致全面,從入門到精通,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費 15天面授
有基礎(chǔ) 直達就業(yè)
業(yè)余時間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)