1

我有一个非常笼统的问题。例如,我有一个包含姓名、地址、年龄、性别、部门等的员工表。当用户想要查看员工的整体信息时,我不需要从数据库中提取整个列。我想首先通过对每个部门的员工姓名进行分组来显示整体员工信息。然后,如果他/她有更多的兴趣,用户可以选择一位特定的员工。要实现这一点,哪种方法会更好。

1) 应用两个不同的 API,这将通过应用不同的查询产生两个不同的数据结果。因此,如果我采用这种方法,即使我必须调用两个不同的 API,它似乎也很有效。

2)应用一个API,即使整个员工信息不需要完整的详细员工信息,也会产生一个包括整个员工相关列的数据结果。一旦我得到这些数据,我就可以根据不同的需求,通过处理已经从前端提取的数据来重新格式化员工信息。

通常,开发人员在 1) 和 2) 之间采用哪种方法?我认为 1) 是有道理的,但 API 将过于专业化,而不是通用化。在前端(Angular 2)中操作从后端(RESTful)获取的数据是一种理想的方式吗?在创建相对更多数量的专用 API 或在获取整个数据后在前端操作数据之间,哪种方法更受欢迎?如果有一些标准可以采取哪种方法,我必须考虑哪些理由?这是正确的想法吗?如果有人对此有所了解,您能否提供一些指导?

4

1 回答 1

3

这是一个非常有趣的讨论。如果您需要一个非常优化的应用程序,那么您需要使用第一个选项。此外,如果您在员工中有一些只能由特权用户访问的列,您可以想象客户端操作不会阻止一些恶意黑客看到它。在这种情况下,您也必须实施第一个选项。

缺点是在某些时候你可能有太多的 API 做非常相似的事情,这使得它变得混乱和低效。

关于第二个选项,正如您指出的那样,拥有通用 API 是一件好事,因此为了加快开发过程并拥有一组更清洁的 API,您可以浪费很少的互联网流量作为回报。

你需要平衡你的需求。

  • 是资源优化吗?就像数据库查询和互联网请求方面的速度一样。
  • 或者是开发时间?您是否有足够的时间来实施所有这些事情和优化?
于 2017-01-12T21:12:27.817 回答