合并多个API的最佳实践


Best practise for merging several APIs

所有有经验的程序员。我需要以下方面的建议。

以下问题的最佳实践是什么

我们有2-3个对象(公寓)的api(XML,JSON,SOAP,协议现在无关紧要)

它们每个都有几个关键点

a) Geographics-每个api都有自己的GeoDatabase,具有相同城市和地方的名称和ID

b) 每个api都有不同的对象属性描述方式。。。就像房子里一样(游泳池、方便轮椅等)

因此,我们需要的是导入这些数据,在本地合并它们并进行搜索。。。。

从架构上讲,解决此类问题的正确方式是什么。。。。

一个非常接近的例子是酒店搜索引擎,他们搜索10-20个不同系统的数据。。。

所以我们需要一个类似的东西,但完全在另一种类型的物体上。非常感谢您的笔记、评论和回答。非常感谢您的参与。

这是一个非常通用的问题,所以遗憾的是,答案也非常通用。我会这样处理这个问题:

  • 为各种API中的每一个创建wrappers,这将标准化内部调用它们的方式,从而更容易与它们交互。

  • 将所有结果转换为uniform format(如果可能的话),至少是那些将被搜索、排序和执行的字段。

若您将这些信息保存到数据库中,那个么重要的是要使结构易于查询。

例如,不希望将定义房屋的整个JSON字符串存储到名为description的字段中。为房子的每个属性创建字段(如swimming pool (BOOLEAN yes/no))也是如此。取而代之的是key-value字段,如attribute-nameattribute-value,它们可能具有以下记录:

  • 游泳池:是
  • 卧室数量:三间

等等。你明白了。根据我的经验,你可以有一个统一的数据模型,你可以将API的价值塑造到其中,就越容易整理和比较它们。