我的任务是创建一个管道,用于转换不同类型的输入,例如:
然后使用它们给我的输出进行转换和处理,最后将它们发送回相同或另一个源/格式/结构。是否有一种模式可以在这种情况下提供帮助并使其尽可能抽象,所以无论源和结构如何,我都可以切换对象?响应对象始终是集合的一种形式:JSONArray具有多个Object,ResultSet,...
我的想法是创建一个“适配器类”,它能够接受JSON字符串,XML字符串甚至RDBMS数据集,因此我可以使用此适配器对象,然后将其转换回另一个结构:JSON字符串,DataSet,...
class AdapterClass
{
//how could it look like?
}
class AdapterClassFactory
{
//input
public AdapterClass generateByJSONString(String input)
public AdapterClass generateByXMLString(String input)
public AdapterClass generateByResultSet(ResultSet input)
public AdapterClass generateByCSV(String input)
//output
public String generateJSONString(AdapterClass input)
public String generateXMLString(AdapterClass input)
public ResultSet generateResultSet(AdapterClass input)
public String generateCSV(AdapterClass input)
}
我认为我只是有点大脑滞后,但是我只是不知道答案。感谢您的帮助。
答案 0 :(得分:1)
您要描述的内容可以通过Apache Camel之类的集成框架来完成。它可以消耗来自不同来源REST,JDBC和many other的数据。此外,它可以将数据转换为任何格式或从任何格式转换数据,因此高度可自定义。
例如,您可以建立类似
的管道从REST端点读取数据->将JSON分解为POJO类->做一些转换->将POJO编组为XML->将数据发送到另一个服务