API是不同软件进行通信的中介,还是将数据提供给另一个软件的服务器?

时间:2017-08-29 05:13:10

标签: api architecture server

API的定义似乎非常广泛,我不明白API是否是连接不同软件的链接,或者提供数据的服务器(如机场公司如何向网站提供战斗信息)是API。< / p>

可能两者兼而有之吗?

1 个答案:

答案 0 :(得分:1)

两者都可以。实际上,两个软件彼此交互的最常见方式是通过API。这两个软件可能位于同一台计算机上(例如,使用OS提供的服务的App)。它们也可以在通过互联网分隔的不同计算机上运行。

API通常由类和方法/函数组成。对于给定的API方法/函数,通常它会执行以下三项中的一项或多项:

  1. 检索信息
  2. 存储/更新信息
  3. 执行操作
  4. 例如,机场公司运行服务器,公开提供航班信息的REST API。客户端(例如智能手机应用程序)调用该REST API以检索航班信息。

    API规范定义了一个契约 - 关于调用者如何调用API的确切语义。例如方法名称,参数类型和期望值。