Web API的目的是什么?

时间:2012-09-02 23:19:56

标签: django web-services api rest

我正在开发应用和网站。它们具有相关信息,例如用户,合同等。设计API而不是直接连接到数据库的原因是什么?

编辑: 我刚刚开始开发,没有Web服务经验。请尽可能彻底。

2 个答案:

答案 0 :(得分:4)

Facebook,Google和Twitter等网站永远不会让第三方应用直接连接到他们的数据库:这是一个巨大的安全风险。 (如果Facebook允许任何人访问他们的数据库,包括私人用户信息和消息,你会感到舒服吗?)

API作为第三方应用程序可以获取他们允许访问的信息的门户。

答案 1 :(得分:3)

使用API​​而不是使用直接访问有几个原因。

首先想到的是:

  1. 使用API​​可以编写客户端代码,而无需了解具体实现的任何细节,因此,如果您更改数据库结构或位置,则只需要重写API包装器代码,而不是在其引用的任何地方。
  2. 它允许您具有不同级别的身份验证。正如另一个答案中所提到的,对于应用程序的所有用户来说,访问所有其他用户数据并不理想。