Home > Article > Backend Development > [PHP][API]Chapter 8: Implementation
我们现在至少了解了 API 的入门。我们如何利用我们所获的知识呢?在本章节,我们探讨如何把知识转化为可以工作的软件。
正如我们所看到的整个过程,一个 API 交互涉及两个方面。尽管我们在代码层面探讨,我们真正要说的是,我们需要两个实现 API 的程序。一个程序遵循了 API 的规则来实现 API。正如我们披萨店的例子,一个客户端可以使用正确的 headers 和数据格式发送请求,成为一个实现 API的客户端。
服务器程序是发布 API 公司的责任。回顾第六章,我们了解了 API 的设计过程。规划后,下一步是为公司实现他们通过根据设计编写软件。最后一步就是把程序放到服务器上,
随着服务端软件,公司发布 API 的文档。该文档是一个或则多个-典型的网页或则 PDF 文件-解释如何使用 API。它包含了像什么身份验证方案使用,哪些端点是可用的,并且数据的格式化信息。它可能还包括例如响应,代码片段,以及交互式控制台和现有的端点。文档是非常重要的,因为它作为一个构建客户端的指南。这是为什么有些人通过使用 API 去学习 API 如何工作的。
随着在手的文档,也有一些你可以开始使用的 API 作为客户端的方式。现在让我们来解释第三个。
一个简单的方法开始使用 API 是一个让你快速构建 HTTP 请求测试的通用程序。你指定 URL ,headers,主体,并且程序将其发送到正确格式化的服务器上。这些类型的项目有各种各样,Web应用,桌面应用,网页浏览器扩展等。
使用通用 HTTP 客户端的好处就是你不需要知道程序是如何使用的。随着你通过这个课程获得的能力,你现在可以读一个公司的 API 文档,并找出你需要你想要得到数据的请求。这个小的学习曲线,使通用程序可以快速探索一次性任务。
想要真正利用 API 的力量,你最终将需要定制软件。这是需要编程的。作为一门学科,我们不会试图覆盖软件开发的一切,并且可以给你一些指导,写一个 API 客户端包含什么。
第一个要求就是了解一些熟悉的编程语言。这儿会有很多,每个都有它的长处和短处。为了简单起见,你可能更能坚持一种解释型语言(JavaScript,Python,PHP,Ruby等类似),而不是编译语言(C 或 C++)。
如果你不确定选择哪种语言,一个好的缩小范围的方式可能就是找一个你想实现的 API ,看看公司是否提供 API 的客户端库。库是该 API 拥有者发布的,它是已经实现客户端的 API。有时,库被单独下载,或则将与 SDK(软件开发套件)捆绑在一起。使用库,可以为你节省时间,因为不需要阅读 API 的文档和 HTTP 请求需要的格式,你能够轻易复制粘贴几行代码和一个工作的客户端。
用你看中的语言,你需要决定代码在哪运行。如果你是自动化你的任务,从工作计算机上运动是可以接受的。更常见的是,你会想在一个电脑而不是服务器上运行代码。这里有很多解决方案,包括云服务(如亚马逊的 Web 服务),或则甚至在数据中心自己的物理服务器上运行你在共享主机环境中的代码。
第三个重要的决定就是弄清楚,你会用数据做什么。结果保存到一个文件是很容易的,但如果你想将数据存储在数据库或将其发送到另一个应用程序,事情变得更加复杂。将数据从数据库中发送给一个 AP I也是具有挑战性的。在这一点上,我们可以暂停并提醒你不要被所有这些新的信息吓倒。你不应该指望你的第一个尝试实现 API 的一切。有些人可以帮助你(开源社区,开发人员,以及潜在的项目合作者)和大量可在线的学习资源。
一旦你了解了基础知识,有很多的丰富的关于软件开发的话题,你将了解。现在,如果你在学习一种编程语言和获取库,并运行成功了,你应该庆祝一下。你将以你擅长的方式做更多的 APIs。
如果编码超出你目前的技能或时间限制,有一个极好的工具,我们所知道的,它使您能够轻松地与API的交互。正如你了解的,它是:Zapier。我们的开发环境为你提供了一种实现一个 API ,然后你能在 Zapier 上使用作为一个 APP。通过按键并且提交申请,你可以实现几乎任何你想要的 API。
我们做了很多项目,然你使用开发平台更方便。Zapier 有提出请求代码的地方,你所要做的就是填充细节。考虑使用环境,就像使用一个通用的 HTTP 客户端;你告诉我们一个端点,我们将做剩下的。额外的好处是,一旦你有 Zapier 与 API 交互,你有很多选择去做用返回的数据。此外,如果你遇到了问题,我们有友好的支持团队,帮你解决问题的专家。
我们已经学了很久,从一开始“什么是客户端?”,到结束时,你可以构建一个客户端。尽管你决定不尝试实施一个 API,我们希望你感觉到舒适,当他们在谈及时。现在你知道了,什么是 API ,它可以做什么,以及如何为一家公司带来收益。
也许你经营一家公司,并查看提供 API 给客户的价值。或者,也许你经常这样做,你很高兴能自动讨厌的,耗时的任务。无论是哪种情况可能是,我们希望你能找到你已经获得了宝贵的知识。请分享这门课程给别人,你认为能从中获益,然后传播它
在这个章节里,我们探讨了如何将 API 设计成软件。我们谈及了使用 API 的几种方式。
这是我们所学: