API 优先开发的 10 条准则:构建更强大接口的关键

幂简集成
• 阅读 59

在软件开发领域,应用程序编程接口 (API) 类似于一种魔术胶水,将不同的系统结合在一起,使它们能够和谐地进行通信和工作。API 充当 API 使用者和开发人员的用户界面,应在产品策略中发挥核心作用。它应该经过精心设计,以便为 API 使用者提供最佳的可扩展性和体验。

正如那句名言所说,“能力越大,责任越大”。作为 API 生产者,不仅对业务的增长和转型产生深远影响,而且对应用程序的安全性和稳定性也产生深远影响。这意味着应小心行事。

凭借在人工智能 (AI) 和 API 管理平台方面数十年的经验,见证了 API 集成策略的演变及其成功与陷阱。这一旅程已经总结为十条核心原则,在开发和公开 API 时需要加以考虑。

提前了解 API 的受众和目的

在清楚了解目标受众和 API 服务的具体目的后,再开始 API 开发之旅。必须明确 API 是面向公共使用、满足开发人员和企业的需求,还是专为各团队的内部使用而设计。这一初步分析将影响设计决策、安全和身份验证方案以及整体用户体验。可以将其视为建筑物的基础。

API 命名要有清晰的语义

确保 API 端点名称清晰地描述其应执行的操作。API 名称应易于理解,例如,使用简单的原则(如用名词表示端点),因为这些端点是通过 HTTP 方法(动词)来操作资源的。同样,在命名资源时,使用复数名词而非单数名词。例如,要列出所有用户,应将 API 端点路径命名为 GET /users,而不是 GET /listusers,因为前者使用名词“users”,而后者包含动词“list”。

优化数据格式

所选的数据格式会严重影响数据交换的效率。笨重或复杂的格式(如 XML)可能会影响性能并增加成本。XML 格式不仅冗长,而且不如 JSON 易于阅读和理解。应选择轻量级、简化的格式,这些格式被广泛理解,并能促进快速数据传输,同时最大限度地减少资源消耗。因此,尽管 REST 规范没有指定数据格式,JSON 已成为 REST API 的事实标准。

为 API 建立坚固的安全防线

应确保 API 易于使用,同时对潜在的攻击者形成坚固的防护。API 应具备堡垒式的安全模型,以防止未经授权的访问和潜在威胁。实施先进的身份验证方法(如 OAuth 2.0 或 JSON Web 令牌 (JWT))至关重要。安全的 API 不仅能保护敏感数据,还能增强用户间的信任。

确保对请求进行身份验证,并为 API 提供适当的授权级别。根据应用程序的用例,可能需要在使用 API 密钥与 OAuth 2.0、OpenID 或 JWT 之间做出选择。一般来说,API 密钥适用于只读访问数据,并且设置相对简单。但对于处理敏感和业务关键数据的应用程序,建议使用 OAuth 访问令牌进行授权。

避免功能扩展过度

抵制添加不必要功能以防止 API 超载的诱惑。精简且以目的为导向的 API 能最大限度地降低复杂性,增强安全性,并提供与用户需求对接的核心功能。设计 API 时应仅返回客户端应用程序所需的数据,而非整个数据库。多余的功能不仅会增加 API 的复杂性,还可能引入安全漏洞,模糊核心功能。

使用开源 API 规范

OpenAPI 规范在整个行业中被广泛使用,例如 Swagger 和 OpenAPI。这些开源工具和规范帮助开发人员轻松构建、设计、记录和使用 REST API。它们可以用来以多种语言描述、记录和生成 API 客户端。应避免使用由 API 管理供应商开发的专有 API 版本,这些版本通常未被广泛使用或不提供免费工具。

防止敏感数据和个人身份信息 (PII) 泄露

确保 API 的设计和实现能够有效保护敏感数据和个人身份信息。采取加密措施来保护数据在传输和存储过程中的安全,实施严格的访问控制和数据脱敏策略。定期进行安全审计和漏洞扫描,以识别并修复潜在的安全隐患。通过这些措施,可以有效防止敏感数据和 PII 的泄露,保障用户隐私和数据安全。

全面的文档和细致的版本控制

清晰、详尽的文档的价值不可忽视。它不仅作为开发人员的蓝图,指导开发和集成过程,还显著提升了用户体验。同时,严格遵守版本控制协议能够确保更新和修改不会破坏现有的集成,为用户在不同的API版本中提供清晰的导航路线图。这种做法有助于维持系统的一致性和稳定性。

注意 API 调用成本

数据传输的经济性不可忽视。API促使数据流动,依据数据量和频率,这可能会导致显著的成本,特别是在使用云服务时。开发人员需要通过优化API设计来减少不必要的数据传输,从而有效控制运营成本。

优先考虑性能

没有什么比糟糕的性能更快地破坏人们对API的信任。集成商期望快速响应和高可用性,因此必须优先进行性能优化和定期监控。明智地使用缓存来减少响应时间,合理设计API以避免数据膨胀。对于全球用户群,使用内容交付网络(CDN)实现全球覆盖,并扩展基础设施以满足日益增长的需求。

总结

您需要采取战略性和明智的方法来开发和发布API。通过遵循这十个最佳实践,您的开发人员可以创建满足互操作性和功能需求的API,同时体现安全性、效率和以用户为中心的设计原则。

在数字化转型的关键时代,遵循这些实践将确保您的API成为创新和可靠性的灯塔,推动您的业务在数字领域不断向前发展。

原文链接:10 Commandments of API-First Development - DZone

点赞
收藏
评论区
推荐文章
Aidan075 Aidan075
4年前
收藏这些API,获取网易云音乐数据超轻松
汇总了常见的网易云音乐API,墙裂建议点击右上角收藏下面是常见的网易云音乐get请求的API。简单介绍一下它们:评论http://music.163.com/api/v1/resource/comments/R_SO_4_{歌曲ID}?limit20&offset0这应该是最最最常见的了,毕竟80%
Wesley13 Wesley13
3年前
API设计的一点思路
API是模块或者子系统之间交互的接口定义。好的系统架构离不开好的API设计,而一个设计不够完善的API则注定会导致系统的后续发展和维护非常困难。以下谈一点API设计的原则。业务层业务语义简单明确一个接口或者说一个api,必定是为外部使用者服务的,因此必须具有明确的业务/使用意图。api的从命名到定义,都必须围绕着这个意图来进行
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
API 小达人 API 小达人
1年前
如何开发 RESTful、GraphQL 和 SOAP 等不同类型的 API ?
本指南将详尽探讨API开发的基本要素,包括涉及的概念、类型和协议,以及可用的最佳实践和工具。我们将从揭示API在现代软件开发中的作用开始,阐明它们如何促进不同软件组件之间的无缝通信。之后,我们将深入研究各种API类型,如RESTful、GraphQL和SOAP,并分析它们独特的特点和理想用例。接下来将讨论API设计的关键方面,重点关注API安全性、可扩展性和可维护性。我们将讨论常见的身份验证和授权机制、速率限制以及API版本控制等其他基本主题。最后,我们将介绍领先的API开发工具和框架以及文档和测试的价值,确保你具备开发高质量、高效且安全API所需的知识和资源。
菩提树神 菩提树神
1年前
最近收集大约200多个后台常用公开免费api接口 (调用完全不限次数)
随着互联网技术的不断发展,API(应用程序编程接口)已经成为了软件开发中不可或缺的一部分。API接口是不同软件之间进行数据交互和共享的重要途径,可以让不同的软件系统之间进行高效、快速、稳定的数据传输和处理。本文将介绍收集各种API接口的作用。一、API接口
幂简集成 幂简集成
2个月前
12 条基于风险的 API 安全控制指南
在当今互联的世界中,(应用程序编程接口)充当着应用程序之间无形的桥梁。然而,权力越大,责任也越大!保护这些API的安全至关重要,以防止潜在攻击者对数据或用户信息的隐私造成威胁。本文将介绍基于风险的API安全控制,帮助构建更可靠和防篡改的API。1\.左移安
美凌格栋栋酱 美凌格栋栋酱
2个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
幂简集成 幂简集成
1个月前
网站运营必备API,你收藏了吗?
网站运营必备API是现代网站管理和发展的关键工具之一。这些API提供了各种功能和服务,为网站管理员和开发者提供了丰富的工具和资源,以提高用户体验、增加网站功能和优化运营效率。首先,支付API是网站运营必备的API之一。它使网站能够接受在线支付,提供安全、便
幂简集成 幂简集成
3星期前
用于构建 API 和微服务的 12 个流行 JavaScript 框架
构建API驱动的现代应用程序!类似于用户界面,唯一的区别是用户是机器或软件。让我们来了解的设计方法,以及为什么遵循它是有意义的。我们还将重点介绍JavaScript及其流行程度,最后,我们将讨论构建API和微服务的热门JavaScript框架。API优先方
幂简集成
幂简集成
Lv1
男 · 北京蜜堂有信科技有限公司 · 技术总监
国内领先的API集成管理平台,专注于为开发者提供全面、高效、易用的API集成解决方案
文章
69
粉丝
0
获赞
1