首先,让我先介绍一些背景知识: 我有一个 Web 服务,它接受 XML 作为输入并以 XML 输出。输出有 2 种不同的可能模式(还有另外两种)。每个请求都有一个组列表,可以从中轮询数据。轮询数据库,然后从每个组中生成正确格式的 XML;这些组被编译在一起并输出 XML。
基本上,每组数据都有一个类,用于处理轮询数据库并输出 XML 模式输出。
由于输出格式多种,代码本身非常臃肿且难以维护。因此,我正在寻找一种设计模式,以便更轻松地添加新的输出格式。我探索了使用 XSLT 在格式之间进行转换的选项,但它们差异很大,因此我认为此选项不可行。
tl;dr:对于 Restful XML Web 服务来说,基于单个数据库中的数据生成不同格式的 XML 的有效设计模式是什么?
如果我可以提供更多信息,请告诉我!
最佳答案
基本上,每组数据都有一个类,用于处理轮询数据库并输出 XML 模式输出。 --> 这个类可以分解为只轮询数据并将输出作为 java bean 或其他东西返回吗?如果是,我会更改此类以仅处理数据检索。 创建一个 Controller 来决定输出格式。使用此 Controller 周围的命令模式,以便您将来可以轻松添加更多输出格式。 为 XML 输出部分创建一个不同的组件。使用工厂模式并将输出格式的标识符传递给它。如果输出格式非常复杂,可以考虑使用JAXB。否则,重用已存在的类中存在的任何代码。
请告诉我这是否有帮助。
关于java - Web服务输出多种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6904281/