提供 API 意味着什么

What does it mean to provide an API

提问人:Kraken 提问时间:8/7/2014 更新时间:8/7/2014 访问量:2061

问:

我遇到了这个问题,

XYZ 应用程序是否提供 API?

现在我真的不确定“提供”和 API 是什么意思。

现在,假设我正在开发一个 Android 应用程序,我的应用程序将基于单个用户的操作与多个用户通信。现在,我将需要在网络上托管一些服务。

用户将与服务器联系,我的后端服务将处理所需的任何内容(将内容保存在数据库中/将一些消息转发给其他人或任何东西)。

  • 现在我猜任何人都可以调用这个服务,并且使用它对吗?
  • 我的后端服务会作为 API 调用吗?
  • 我需要做些什么来“提供”API?
  • 或者我必须做些什么来“阻止”访问我的 API?
Android Web-Services API 网络服务器

评论

3赞 PKlumpp 8/7/2014
这是一个用于编程问题的板,而不是用于谷歌搜索的板
0赞 user2864740 8/7/2014
参考 Wiki:API 是什么。客户端/服务器 API(如通过 HTTP 的 API)通常是 Web API,但它是相同的概念:“应用程序编程接口 (API) 指定某些软件组件应如何相互交互。

答:

4赞 Dave Cooper 8/7/2014 #1

提供 API 意味着您正在提供一个 (n) 服务器端点,您的应用程序或程序员可以使用某种请求(通常是 HTTP 请求)命中该端点。

如何实现由您决定。如今,大多数人都试图提供某种 HTTP 端点,该端点具有结构良好的 URL 方案(即 www.mysite.com/users/statistics),根据您尝试执行的 HTTP 操作,该方案的行为会有所不同。这通常被称为 RESTful API(什么被认为是 RESTful 和不被认为是 RESTful 总是一个争论的热门话题,但它是人们所说的这些类型的 API)。查看 http://www.ibm.com/developerworks/webservices/library/ws-restful/ 对此的良好介绍。

要直接回答您的问题:

  1. 您可以控制谁可以使用您的 API,以及他们可以使用它的频率。
  2. 从技术上讲,是的,影响后端服务的内容将被视为 API 调用。
  3. 您需要描述您当前的架构,然后任何人都可以就您需要做什么来“提供”API 给出体面的评论。
  4. 您可以执行多种操作来控制对 API 的访问 - 从基本身份验证到颁发 API 密钥/令牌。看看 http://www.slideshare.net/rnewton/making-sense-of-api-access-control 以获得一个体面的解释。

希望对您有所帮助!