首页 > 其他分享 >10个 API 开发的最佳实践

10个 API 开发的最佳实践

时间:2023-07-11 14:13:06浏览次数:60  
标签:10 消费者 最佳 API 文档 确保 使用 SEO

image

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/shrcnpMe5dWtOkq2GoRWQ97oLlc

image

标签:10,消费者,最佳,API,文档,确保,使用,SEO
From: https://www.cnblogs.com/apibest/p/17544474.html

相关文章

  • DPI-1047Python的exe无法执行问题
    一、序打包运行的exe在其他设备上出现DPI-1047:Cannotlocatea64-bitOracleClientlibrary:Thespecifiedmodulecouldnotbefound.二、解决方法1、安装OracleInstantClient2、配置系统环境Path中添加解压路径如(C:\Users\Administrator\Desktop\instantclient......
  • 第10天
    一、方法、二、方法的定义和调用packagecom.fangda.www;publicclass方法如何定义{publicstaticvoidmain(String[]args){liumangxing();}publicstaticvoidliumangxing(){intsize=6;//六芒星的大小//构建上......
  • Tenable Nessus 10.5.3 (Unix, Linux, Windows) - #1 漏洞评估解决方案
    TenableNessus10.5.3(Unix,Linux,Windows)-#1漏洞评估解决方案发布Nessus试用版自动化安装程序,支持macOSVentura、RHEL9和Ubuntu22.04请访问原文链接:https://sysin.org/blog/nessus-10/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgNessus漏洞评......
  • 洛谷 P6109 - [Ynoi2009] rprmq1
    首先将修改操作差分为\(l_1\)时刻给\([l_2,r_2]\)中的值\(+v\),\(r_1+1\)时刻给\([l_2,r_2]\)中的值\(-v\)。这样第\(i\)行的状态相当于执行\(1\simi\)时刻的操作后的状态。猫树分治,把一个询问挂在线段树上满足\(l\lel_1\lemid\ler_1\ler\)的区间\([l,r]\)......
  • frida hook工具使用——用于os api注入分析还是不错的
    准备:pipinstallfridapipinstallfrida-tools 开始:1、创建child-gating1.pyimportosimportthreadingfromfrida_tools.applicationimportReactorimportfridaimportargparseclassApplication:def__init__(self,log_location):self.fpat......
  • 代码随想录算法训练营第二十九天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分
      860.柠檬水找零 思路:遇到20,先给10和5,再给三个5代码:1boollemonadeChange(vector<int>&bills){2if(bills.size()==0)returntrue;34map<int,int>currentMoney;5for(inti=0;i<bills.size();i++)6{7if......
  • 一篇文章看懂 Apipost IDEA插件怎么用
    Apipost最近也是推出了IDEA插件,只需要右键upload一下即可自动解析代码注解并快速生成API文档,小编也是试了试,这篇文章给大家带来详细的使用教程。安装ApipostHelper安装Apipost-Helper:打开IDEA,在右侧Plugin中搜索Apipost点击Install下载安装。配置方法:安装成功后要将IDEA内的......
  • 【2023-07-10】平静就美
    20:00驱散阴影最好的办法,就是把一切都摆在明面上。                                                 ——哈珀·李最近在看一本叫《臣服实验》的书。在看这本书之前,我......
  • 界面控件DevExtreme UI组件——增强的API功能
    虽然DevExtreme刚刚发布了v23.1,但今天我们仍然要继续总结一下之前的主要更新(v22.2)中发布的一些与DevExtremeAPI相关的重要特性。DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应......
  • 7.10
    一天去了黄沙古都,晚上去吃饭项目:乘坐沙漠冲浪车进入沙漠,非常刺激;再选择乘坐龙舟;首先走了八卦阵,羊皮筏子(真的是好多整张羊皮),游艇,水路战车,射箭,气泡,越野车,骑马,沙漠坦克,骑骆驼,超级跑马,滑沙,滑索,万丈深渊,太空环,过山车,斗牛士,高空揽月,飞跃星球,沙漠乐园~~·实地参观。基本都玩儿了,很具有宁......