使用Java Webclient使用REST服务的设计模式

时间:2017-07-16 06:03:22

标签: java hibernate web-services rest design-patterns

我需要按顺序使用少量REST服务并将它们解析为Java Objects并将这些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请求以获取所有必需的数据。

之后,我编写了一个mapper类,它将Auth和DeviceDetails对象转换为Hibernate Entity类,并将其保存在DB中。

这看起来非常严格的设计。上面代码的任何设计模式或我可以使用的任何更好的设计?

1 个答案:

答案 0 :(得分:0)

ReactiveX正是您所需要的。以下是其网站上的文字。他们还有各种programming languages

的实现

您可以使用merge operator将各种可观察的结果合并为一个。您可以找到一个示例here

  

ReactiveX是一个用于通过>使用可观察序列来编写异步和基于事件的程序的库。

     

它扩展了观察者模式以支持数据和/或事件序列,并添加了允许您以声明方式组合序列的运算符,同时抽象出对低级线程,同步,线程安全,并发数据结构等问题的关注。和非阻塞I / O.

     

为什么要使用Observables?

     

ReactiveX Observable模型允许您使用与数组之类的数据项集合相同的简单,可组合操作来处理异步事件流。它使您摆脱了纠结的回调网络,从而使您的代码更具可读性并且不易出错。

相关问题