共计 3093 个字符,预计需要花费 8 分钟才能阅读完成。
API 是一套规定,定义了应用程序或设施的用户敌对性。它是一个软件中介,使应用程序之间能够互动。它能够是基于网络的零碎、数据库系统等。像 Netflix、Facebook 和 Github 这样的科技巨头在这方面处于领导位置。他们雇佣 API 开发人员利用 API 解决其应用程序的数据,并为用户提供最佳可能的体验。
然而,API 开发并非易事。它须要大量的致力、贡献和精心布局。因为不足无效治理 API 的办法,许多公司无奈高效地解决这项工作。有一些最佳实际是开发人员应始终遵循的。在这里,我列出了一些最佳的 API 开发实际,将帮忙无效地保护和应用 API。
1. API 应恪守所在国家和行业法律标准
各个国家和行业的法律法规都有所不同,你的 API 开发团队必须确保你的业务恪守指标国家 / 行业的规定。如果你的 API 不合乎相干法规,那么你可能会因为创立了一个有缺点的应用程序而领取高额罚款或面临监禁。例如,医疗畛域的 API 须要恪守诸如 HIPAA(美国)或 IEC 62304(国内)等法规。请确保理解这些法规,并使你的 API 合乎这些要求。
2. 缩小调用次数以升高提早
API 用于在软件服务、设施等之间传输数据,缩小调用次数能够升高提早,从而带来更好的用户体验。例如,如果你的 API 列出了用户,请应用所有必要的数据作为参数调用“getAll”。如果正确执行,将最大限度地缩小网络调用。
3. 集成越多,成果越好
将你的 API 与其余第三方技术 /API 集成,以便在须要时它们能够协同工作。这将使你的 API 可能做更多事件,并帮忙你创立一个更弱小的平台。你能够为我的项目雇佣 API 开发人员。
例如,通过开源库或企业服务总线(如 Apache Camel、MuleSoft 等)进行集成,可实现轻松集成并缩短上市工夫。
4. API 应满足消费者的需要
API 旨在为消费者服务,而不是为你本人服务。确保你的 API 具备足够的灵活性,以便在必要时进行将来更改。此外,最好确保你的 API 能够毫无艰难地与其余技术 /API 集成。
当你决定更改数据库构造或施行新型技术时,请勿放心毁坏兼容性并改良 API。例如你的 API 从数据库中检索数据。如果你容许消费者查询数据库,请容许他们应用规范查问子句,如“where”。
5. 确保 API 具备可扩展性
请务必制订一个周全的负载平衡和扩大打算,以避免在太多消费者同时拜访你的 API 时呈现宕机。这是 API 开发人员常见的问题,因为他们没有思考到如何应答来自内部资源的拜访。
例如,假如你的 API 为消费者提供数据,所以你容许他们查询数据库。然而你无奈晓得有多少内部资源会同时申请你的 API。最好施行一些负载平衡技术 / 办法,以避免在忽然受到大量内部资源攻打时 API 宕机。
6. API 必须平安
在大多数行业中,安全性是首要任务,API 也应遵循雷同的概念。最佳做法是对用户进行身份验证和受权,以便他们只能拜访容许拜访的内容,并对通过互联网传输的任何数据进行加密。
API 在传输数据时确保了最高的安全性,它会将你的 API 密钥以及 API 使用者所需的任何其余数据进行加密并平安存储。这样,在所有集成中都可能实现平安传输。例如,假如你有一个消费者应用程序,须要通过你的 API 向消费者提供一些数据。该应用程序须要一个加密过的 API 密钥,以便在调用你的 API 时对其进行解密。
7. 确保版本治理简略
版本控制是在放弃向后兼容性的同时为 API 增加新性能。API 版本控制与其余类型的软件相似;应该放弃简略,以便消费者在应用特定版本时不会感到困惑或迷失。它还实用于不同的数据类型,如果没有正确实现,可能会导致凌乱。在定义每个版本应应用哪种数据时,请思考消费者体验。
例如,第 2 版和第 3 版将具备不同的数据类型,因而消费者须要在应用之前理解这一点。这是一个根本示例,但表明了在开发 API 时思考消费者有多重要。
8. API 文档至关重要
文档可能是所有 API 最要害的局部。这须要记录每个办法、参数、输出和输入,以便开发人员理解你的 API 如何工作。在编写时,最好应用机器可读格局而不是人类可读格局,因为这将使程序 / 软件更容易集成。
例如,在记录一个办法时,你应该应用机器可读格局而不是人类可读格局,因为软件能够更好地解释它。
9. 设计高性能和高可用性 API
在创立 API 时,你应该尽可能进步其性能,通常通过缩小申请数量来实现。同时,你还须要确保它们具备很高的可用性,这能够通过使它们分布式且容错来实现。当设计面向大流量或使用率的 API 时,这两个因素都十分重要。
假如你的 API 性能不佳,并且消费者在短时间内屡次调用它。如果你思考到性能和高可用性而设计了 API,则应防止此类情况产生。否则会导致 API 进行运行,从而给消费者带来蹩脚的体验。
10. API 必须应用行业标准
在设计 API 时,遵循行业标准是最佳抉择。你能够应用以后最风行的规范,如 RESTful API、JSON、XML 等。这些是大多数开发者相熟的规范,因而消费者更容易应用你的 API。
假如你设计了另一种不太风行或宽泛应用的 API 应用规范。因为较少人晓得如何应用它们,所以不足相干文档,并且消费者可能会感到丧气,因为他们不晓得如何操作这些 API。采纳行业标准意味着文档和其余材料将宽泛可用,使得消费者可能轻松地应用它们。
11. 放弃服务边界明确
服务边界定义了一个服务能够被应用或拜访的范畴。这确保了你的 API 设计具备可重用性和模块化。一个失当的类比是,如果你在制作汽车——你不会创立一个领有雷同整机的大型车辆,因为这样效率会升高。相同,你会设计各种不同但能够一起应用的小型车辆。
消费者须要晓得什么是服务边界以便正确地与它们配合工作。如果没有将两个不同的服务辨别开来,则必须同时实现它们能力失常运行。假如你有两个 API,一个用于驾驶,另一个用于转向。
12. SEO 始终至关重要
搜索引擎优化(SEO)对于任何网站或 API 排名都至关重要。这不仅仅是领有一个好产品 – SEO 对于流传信息并让消费者理解你的 API 十分必要。确保你的文档进行了 SEO 优化,以便通过搜索引擎更容易地取得排名。
例如,如果你在未优化 SEO 的状况下过多地更改文档设计,那么消费者将很难找到它们,从而升高应用它们的可能性。放弃 SEO 优化以取得更好的排名,并向外界流传无关 API 的信息。
13. API 设计应该用户敌对
API 设计应该用户敌对且直观,如果消费者无奈自行理解 API 的工作原理,他们可能会感到丧气并停止使用它们。这将导致你的 API 采用率升高,使得流传无关它们的信息变得更加艰难 —— 放弃文档和理论设计对用户敌对能够减少消费者应用它们的机会。
如果你的 API 不直观,消费者须要破费更多工夫学习它们是如何工作的,而不是尝试一下看看是否适宜他们所需。因而,在短时间内消费者须要判断一个 API 是否具备功能性以便他们不浪费时间。
总结
总的来说,API 应该具备高可用性、性能优越、遵循规范、明确的服务边界、SEO、用户敌对设计以及可重用性。遵循这些最佳实际将确保 API 满足业务需要和消费者需要,从而进步驳回率。
Eolink 翻译,文章《API Development Best Practices to Follow in 2022》,作者:Ajay Kapoor
Eolink「API 全生命周期合作治理平台」是国内惟一通过了 ISO27001「信息安全管理体系认证」和 ISO9001「品质管理体系认证规范」两项国内权威认证的企业,为用户提供业内更加安全可靠的产品和服务。
Eolink 微光打算,初创企业收费申请通道:https://easy-open-link.feishu.cn/share/base/form/shrcnpMe5dWt…