我需要按顺序使用少量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中。
这看起来非常严格的设计。上面代码的任何设计模式或我可以使用的任何更好的设计?
答案 0 :(得分:0)
ReactiveX正是您所需要的。以下是其网站上的文字。他们还有各种programming languages
的实现您可以使用merge operator将各种可观察的结果合并为一个。您可以找到一个示例here
ReactiveX是一个用于通过>使用可观察序列来编写异步和基于事件的程序的库。
它扩展了观察者模式以支持数据和/或事件序列,并添加了允许您以声明方式组合序列的运算符,同时抽象出对低级线程,同步,线程安全,并发数据结构等问题的关注。和非阻塞I / O.
为什么要使用Observables?
ReactiveX Observable模型允许您使用与数组之类的数据项集合相同的简单,可组合操作来处理异步事件流。它使您摆脱了纠结的回调网络,从而使您的代码更具可读性并且不易出错。