API First

API First顾名思义就是API优先,我相信在大部分公司使用的构建API方法仍然是代码优先(Code First)

我们先来介绍下构建API的三种不同方法:

  • 代码优先:代码优先通常指的是根据业务需求编写API代码,然后根据该代码生成机器可读的API定义。它还可能意味着在代码中实现API(在项目中搭建Swagger生成),然后使用注释或手动编写来创建API描述。代码优先的API方法并不意味着没有API设计,相反,有一个分布在各种代码文档中的设计过程。
  • API优先:API优先开发意味着你的组织将API视为最重要的资产,并清晰地认识到它是组织运营所依赖的关键业务资产。这种方式涉及使用API描述语言(例如OpenAPI)编写的规则设计每个API。从API规则开始确保API的一致性、可重用性和易交互操作性。API优先公司非常受欢迎,多年来这个术语已经成为流行语。
  • API设计优先:API设计优先意味着你在编写任何代码之前,以人类和计算机都能理解的迭代方式描述每个API设计。通过API设计优先,每个团队都使用相同的语言并且使用的每个工具都利用相同的API设计。这种方法从参与API设计的每个利益相关者开始,编写满足所有各方的API合同,还确保产出人类和机器都能理解的成品。通过这种方法,团队会在设计阶段花费大量时间,以确保在开始编码时,他们编写的代码不会被废弃和重写

API优先API设计优先的优点:

  • 并行工作的能力
  • 确保积极的开发者体验
  • 降低开发成本

代码优先的优势:

  • 快速交付简单的API
  • 对开发人员友好

API优先API设计优先的缺点:

  • 前期投入大
  • 灵活性降低
  • 可能忽略用户体验

代码优先的缺点:

  • 瓶颈
  • 无用或臃肿的API
  • 没有文档
  • 浪费时间金钱

API-First是一种开发方法论,提倡在应用程序设计和开发过程中,首先关注、设计和建立API服务。

这种方法论的核心理念是,将API当做应用程序的核心,并始终将API作为设计和开发的出发点和中心。

API-First是一种架构思维,将API视为基础设施,利用API可以被复用、扩展、共享和集成的优势,打造API中台。

在这个过程中,开发者首先定义和设计API,并确定API的规范、协议、接口等细节,进而构建应用程序的后端功能和操作。

再通过API来构建具有可扩展性、灵活性和开放性的应用程序。

API-First是一种企业战略,以产品思维来开发API的方法,它将API的作用视为独立的产品,而不是供其他系统调用的接口。

它将API接口直接开放给互联网客户供其调用和集成,从而实现API货币化来赚取收益。该概念与API经济共享一些原则,其中API-First解锁了新的价值来源。

API First开发流程:

API First 背后的基本思想是创建一个定义良好的 API,它可以充当应用程序不同部分之间以及与外部服务之间的数据交互。

API First的开发过程通常包含以下几个主要步骤:

  1. 设计API接口:首先,开发团队需要明确定义应用程序的功能和要提供的服务。然后,根据这些需求设计API接口,包括请求和响应的数据结构、访问权限等。
  2. 创建API规范:使用合适的工具或规范(如OpenAPI规范或GraphQL),编写API的详细规范文档。这些规范描述了API的细节,包括端点、请求参数、响应数据等。
  3. 定义数据模型:在API First方法中,数据模型是非常重要的。开发团队需要定义和设计数据模型,包括实体和关系,以便在API接口中使用。
  4. 基于API进行开发:使用API规范和数据模型,开发团队可以开始基于API进行应用程序的开发。这包括编写API的业务逻辑、实现API端点、处理请求和响应等。
  5. 测试API:在开发过程中,团队需要对API进行全面的测试,以确保其功能正常、稳定和安全。这可以包括单元测试、集成测试和接口测试等。
  6. 构建应用程序:在API接口开发完毕并通过测试后,开发团队可以根据需要构建应用程序的前端界面、移动应用或其他客户端,以便用户可以通过这些界面使用API提供的功能和服务。
  7. 迭代和修改:在应用程序开发完成后,团队可能需要根据用户反馈、市场需求或其他因素对API进行迭代和修改。这可以包括添加新的功能、修改接口规范、优化性能等。

参考文章:

API 优先、API 设计优先和代码优先,该怎么选?

使用 API-First 方法构建 RestfulAPI(一)

什么是API优先

如何提升 API First 设计流程

深度理解API First

订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部