为什么要 API 优先?

API 小达人
• 阅读 235

最近关于 API-First (API 优先)作为设计和开发方法的讨论很多,虽然通向 API-First 的途径有很多,但通常推动 API-First 的一般都是 API 架构师、API 设计师和 API 平台负责人等,很好理解,因为他们对组织中 API 的效率、互操作性和质量最感兴趣。

因此,这些支持者制定了与团队其他成员共享的 API 指南和标准。对于开发人员来说,API 优先似乎是一个崇高目标,但实施该方法时动力和紧迫性经常会减弱。结果导致开发者可能难以遵守这些政策。

管理层关心 API 管理,那其他人为什么也应该关心呢?


1. 开发者喜欢 API-First 的原因

理论上讲,开发者知道 API-First 可以提高他们的生产力,提高代码质量,并改善他们构建的整体用户体验。深入了解后发现开发者喜欢 API-First 的原因:

  • 构建人们想要的东西: 通过合同或模拟与利益相关者进行早期社交化,使他们对所构建的内容充满信心,无需在开发过程后期重新搭建和重组。

  • 节省时间: 一旦初始设计达成共识,API 合同就可以用于自动生成代码、文档、合同测试和模拟服务器。

了解 API-First 方法所能实现的结果是迈向 API-First 之旅的第一步,我们看到很多团队都是因为开发者希望能自动生成代码、文档、测试和模拟才回归到实践中去支持 API-First 的。


2. 开发者不喜欢 API-First 的原因

那些使用 OpenAPI 等工具设计 API 的团队不喜欢 API-First ,原因是:

  • 耗费更多时间: 在设计过程需要进行前期铺垫工作,并且 API 合同需达成利益一致。

  • 认知负担: 如果团队没有完善的定义和指南可供参考,从零开始规划用户场景可能会令人不知所措。

  • 足够好: 目前的流程运行良好,尽管有更好的方法可以采用,但没有一定要改变的紧迫性。

一起看看各个团队是如何解决这些疑虑并赢得开发人员支持的。


3. 推动组织内 API-First 的方法

对于开发者来说,采用新流程是很自然的,但要充分发挥 API-First 的作用,最终目标和实现方法能得到领导层和实践者的支持十分重要。根据团队的 API 阶段,有不同方法可以优化 API 优先设计和开发过程。

  • 提升对 API-First 方法的认知

  • 建立治理机构,或负责人制定实践流程,为开发者提供支持

  • 提供最佳实践和指南以简化决策过程

  • 创建一个可供参考的内部定义目录

  • 提供可重复使用的组件以加快开发速度,并保证一致性

  • 增加自动化反馈环节,如: API 检查及其他基于政策编码规则

  • 通过 API 指标(如开发时间、错误、使用情况和采纳率)衡量进展情况

  • 将激励措施与关键目标相结合,引导开发者积极性


4. API-First 是一个旅程

采用 API-First 设计在前期规划,以及 API 合同达成利益一致方面,都需要时间。一旦设计得到认可,它可以在整个 API 全生命周期中自动生成交付物,从而节省时间。由于减少了返工,在后续开发周期中也节省了很多时间。

同样,在 API-First 之旅的最开始阶段,需要花费时间和资源来制定指南,并创建可复用的组件。一旦流程确定下来,团队将看到开发者生产力、代码质量以及用户体验等方面的提升,从而开发人员的满意度也会提高。


Eolink 就是 API-first 的优秀案例,通过 DTDD(文档与测试驱动开发)和 API First 理论,致力于让 API 管理更简单,为企业用户提供一站式、智能化的 API 全生命周期解决方案,产品能力覆盖 API 规范化治理、API 研发流程优化、API 性能和安全保障、API 数据服务开放及交易等创新服务。

DTDD(文档与测试驱动开发)

文档驱动开发:项目开发前,先把文档写好,明确功能需求、入参出参定义、异常情况处理等,再进行开发。

测试驱动开发:项目开发前,先写好测试方案/用例,要求代码顺利通过测试,如不通过则持续进行改进。

为什么要 API 优先?

点赞
收藏
评论区
推荐文章
不是海碗 不是海碗
1年前
厉害了!100多个API接口分享!热门、常用的都有
在开发过程中,我们使用已经开发好的API接口,就会大大提升开发的效率,达到事半功倍的效果。今天给大家整理了很多API接口!
API 小达人 API 小达人
10个月前
如何开发 RESTful、GraphQL 和 SOAP 等不同类型的 API ?
本指南将详尽探讨API开发的基本要素,包括涉及的概念、类型和协议,以及可用的最佳实践和工具。我们将从揭示API在现代软件开发中的作用开始,阐明它们如何促进不同软件组件之间的无缝通信。之后,我们将深入研究各种API类型,如RESTful、GraphQL和SOAP,并分析它们独特的特点和理想用例。接下来将讨论API设计的关键方面,重点关注API安全性、可扩展性和可维护性。我们将讨论常见的身份验证和授权机制、速率限制以及API版本控制等其他基本主题。最后,我们将介绍领先的API开发工具和框架以及文档和测试的价值,确保你具备开发高质量、高效且安全API所需的知识和资源。
API 小达人 API 小达人
9个月前
改变数字经济的 10 大 API 趋势
根据谷歌2021年API经济状况报告,“公司报告称他们2021年主要优先事项包括关注API安全与治理(50%)、API增长和管理(41%)、投资建立开发者社区(38%)、通过API货币化产生收入(31%),使更多服务和数据公开可用(31%),以及增加对API操作和监控的投资(20%)”
API 小达人 API 小达人
8个月前
如何提升 API-First 设计流程
一个APIFirst设计应该具有可复用性、互操作性、可修改性、用户友好性、安全性、高效性、务实性,并且重要的是,与组织目标保持一致。这些基本特征将确保API能够有效地为APIFirst组织战略和开发模式做出贡献,在这种模式中,API可以最大限度地为业务创造价值。但如何生成这样的APIFirst设计呢?
API 小达人 API 小达人
8个月前
AI 与智能化 API 治理的探索实践
1、API作为一种核心的数字资产,要如何进行有效的管理并提升可观测性?2、API贯穿开发测试和运维等多个环节,我们要如何去把不同的团队和现有的工作流加以优化,并提升它的迭代效率?3、API作为核心的业务中间层,怎么样提升质量和安全性?4、API是否可以作为一种商品进行商业化?
API 小达人 API 小达人
7个月前
【接口自动化测试】Eolink Apikit 如何生成与导出接口文档?
在API研发管理产品中,几乎所有的协作工作都是围绕着API文档进行的。采用文档驱动的协作模式会比先开发、后维护文档的方式更好,团队协作效率和产品质量都能得到提高。基于文档来进行工作,使用文档驱动方式可以降低大量无意义的沟通成本。创建了API文档之后,可以随时查看API的改动情况、根据API文档发起API测试、编写API测试用例、使用MockAPI等。在EolinkApikit系统中管理的API文档,可以详细的看到API的描述信息、变更历史、测试用例、MockAPI等内容。
南辕北辙 南辕北辙
6个月前
最近收集各种IT开发常用公开免费的api接口 (可以赚钱)
免费的API接口:推动技术发展的利器在当今互联网时代,API(应用程序编程接口)已经成为各行各业实现数据交互、功能整合的重要工具。免费的API接口作为其中一股清流,不仅降低了开发者的成本,还推动了技术的发展和创新。本文将从免费的API接口的优势、应用场景以
liam liam
4个月前
Swagger annotations (注解):让API文档设计更高效
提供的注解集是其框架中定义API规范和文档的重要工具。这些注解在代码里标注重要部分,为Swagger的解析工作铺路,进而生成详尽的API文档。开发者编写的注释能够被转换成直观的文档,并展现API端点、参数和响应等信息。这不仅提升了开发人员对API运作的理解
小万哥 小万哥
4个月前
API 参考与帮助内容:一站式开发与使用者支援
API文档API文档是旨在了解API详细信息的综合指南。通常,它们包括端点、请求示例、响应类别和示例以及错误代码等信息。API文档可帮助开发人员了解API端点的具体细节,并了解如何将API成功集成到他们的软件中。文档生成工具API文档生成工具是直接从源代码
曼成 曼成
4个月前
从无到有:AI绘画API在插画与游戏设计中的应用
随着人工智能技术的快速发展,AI绘画API已经逐渐成为插画和游戏设计领域的新宠。这些API能够将创意与技术完美结合,帮助设计师快速生成高质量的图像,为插画和游戏产业带来了巨大的变革。