簡體   English   中英

使用Java Webclient消費REST服務的設計模式

[英]Design pattern for consuming REST services with Java Webclient

我需要按順序使用一些REST服務,並將它們解析為Java對象,然后將這些Java對象保留在DB中。

我編寫了一個Web客戶端,該客戶端發送了請求,解析了響應並在RootNodeObject中返回了響應。

public clas RootNodeObject {

private Auth;

private DeviceDetails;

private HostDetails;

}

當我發送webclient.get(“ / Auth”)時,它返回RootNodeObject,其中包含填充的Auth對象。 當我發送webclient.get(“ / deviceDetails”)時,它返回RootNodeObject,其中包含填充的DeviceDetails對象。

以類似的方式,我必須發送8-10請求以獲取所有必需的數據。

之后,我編寫了一個映射器類,它將Auth和DeviceDetails對象轉換為Hibernate Entity類,並將其保存在DB中。

這看起來非常死板,上面代碼的任何設計模式還是我可以使用的更好的設計?

ReactiveX正是您所需要的。 以下是他們網站上的文字。 他們也有各種編程語言的實現

您可以使用合並運算符將各種可觀察的結果合並為一個。 你可以在這里找到一個例子

ReactiveX是用於通過使用可觀察的序列來組成異步和基於事件的程序的庫。

它擴展了觀察者模式以支持數據和/或事件序列,並添加了運算符,使您可以聲明性地將序列組合在一起,同時抽象化了對低級線程,同步,線程安全,並發數據結構和非阻止I / O。

為什么使用可觀察物?

ReactiveX Observable模型使您可以使用與用於數組之類的數據項集合相同的簡單,可組合的操作來處理異步事件流。 它使您從糾結的回調網絡中解放出來,從而使您的代碼更具可讀性,並且不易出現錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM