我有一个使用场景,其中请求中会收到一些属性,例如:
"filters": [
{
"field": "fName",
"value": "Tom"
},
{
"field": "LName",
"value": "Hanks"
}
]
我没有为此定义模型。我只是在请求中接收这些属性并使用这些属性在弹性搜索上查询。我的弹性搜索记录具有相同的属性名称。
现在,我必须支持一个旧应用程序,其中属性名称完全不同。例如:fName 变成 firstName,lName 变成 lastName。
问题:需要接受请求中的旧属性名称,将其转换为新名称,以便与我的弹性搜索记录匹配。使用新属性名称获取数据,在从应用程序发送响应之前将其转换回旧名称。
注意:我没有为这些记录定义 POJO。
如何有效地实现这一点?我考虑使用 Orika 映射器,但不确定在未先定义类的情况下如何工作。