日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Talend Restful

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Talend Restful 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目的:用Talend實現用Restful形式發布webservice

實現:該示例實現了三個功能:通過查詢獲取數據;通過調用存儲過程獲取數據;新增數據。

總體圖:

各個組件的主要配置如下:

tRESTRequest_1是Job的主入口,我們這里實現了三個方法,使用不同形式傳輸。

另外注意的是,因為我們是打算部署到karaf container中,所以REST的Endpoint相同的不能部署在一起,會有沖突,所以我們一般建議在port后面追加模塊或系統的標示一起做endpoint,這樣就不用耗費很多port來部署了!

下面分三個方法來列出Sample,

getUser:使用GET的傳輸方法,只傳輸一個id,URI Pattern:"/{id}/",調用示例就是http://localhost:8088/user/1/

獲取參數并映射

使用tMSSqlRow組件來實現傳參查詢?

通過tParseRecordSet組件將結果集轉換為Set集合?

如果有記錄,將記錄打包成要輸出的XML

然后通過組件返回結果!

另外,如果查詢沒有結果的話,加入判斷,并包裝返回的xml返回!

注意:在這個Job中,因為我有兩個判斷,雖然是從不同節點if的,但可能是由于組流程在一個main job中,所以如果只用(Integer)globalMap.get("tParseRecordSet_2_NB_LINE") == 0一個條件判斷的話,在運行是,另外一個if也會執行,所以在此加上了URI的一些判斷!

這樣getUser基本完成!

其他兩個操作基本類似,在此就不累述!不過在此對調用存儲過程的稍加截圖說明一下!

使用tMSSqlSp組件,Parameters,一個是輸入參數,一個是輸出記錄集RECORD SET?

在tParseRecordSet時選擇輸出記錄集RECORD SET的users,并添加需要輸出的欄位!

?

注意事項:

以前沒留意,近期發現一個問題,就是tRESTRequest的REST Endpoint好像不能使用變量,例如不能使用context.endpointurl,而只能直接輸入字符串"http://localhost:8088/user"之類的,具體為什么會這樣,沒具體查找原因!

但是如果用了類似變量context.endpointurl的話,在designer里面測試是沒問題的,但是部署到container中后就有問題,雖然狀態顯示是Active,但是訪問不了,可能會出現如下提示:

?

轉載于:https://www.cnblogs.com/angusyang/p/6667600.html

總結

以上是生活随笔為你收集整理的Talend Restful的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。