【问题标题】:How handle different JSON schema for an entity list如何处理实体列表的不同 JSON 模式
【发布时间】:2020-06-22 15:43:02
【问题描述】:

我想开发一项服务来获取来自不同商店 API 的一些特殊产品的列表,然后根据最优惠的价格对它们进行排序。每个 API 的输出 JSON 都不相同。例如:

API 1 号返回:

{
   products:
      {
         p1:
           {
              name: product1,
              price: 10
           }
         p2:
           {
              name: product2,
              price: 20
           }
      }
}

2 号 API 返回:

{
   products:
      {
         p1:
           {
              p_name: product1,
              tax: 2
              price: 9
              total_price: 11
           }
         p3:
           {
              p_name: product3,
              tax: 3
              price: 15
              total_price: 18
           }
      }
}

我的问题是,我应该为每个 API 开发一个帮助类来分别处理它们吗?如果我们想通过添加更多 API 来添加更多资源会发生什么?如何让服务处理任何类型的产品 API?

第二个问题:防止在每个用户请求中调用所有 API 以获取产品的最佳解决方案是什么?我应该将它们保存在数据库中特定时间吗?

【问题讨论】:

    标签: php json api rest


    【解决方案1】:

    我认为您应该规范化 API 的输出。 定义一种通用格式并将获得的结果转换为这种通用格式。 您可能希望标记每条记录以了解其来源。

    至于您的第二个问题:这主要取决于获得的数据的有效期。 如果价格随时变化,您可能不想缓存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 2018-04-12
      相关资源
      最近更新 更多