所有WIKI > O字母 > 什么是Open API?

什么是Open API?

能够向其他人(您的同事、合作伙伴或您提供 API 的组织)提供 API 定义对于开展业务至关重要。API 经济的成功取决于使用与 API 消费者相关的语言,反复、简洁和确定地执行此操作。

API 规范语言提供了执行此操作的标准化方法。您的 API 可以用不可知的术语进行描述,将它们与任何特定的编程语言解耦。API 规范的使用者不需要了解应用程序的内部结构,也不需要尝试学习 Lisp 或 Haskell(如果您选择用 Lisp 或 Haskell 来编写应用程序)。他们可以从您的 API 规范中准确地理解他们需要什么,这些规范是用简单且富有表现力编写的语言。

OpenAPI 规范 (OAS) 正是实现了从 API 提供者到 API 消费者的知识转移。它是用于描述 API 的开放标准,允许您提供以 JSONYAML 文档编码的 API 规范。它提供了全面的术语词典,反映了 API 领域中常见的概念,嵌入了 HTTP 和 JSON 的基础知识。当与支持工具结合使用时,它可以基于简单的文档提供丰富的体验。

OpenAPI使用规定的格式来描述 HTTP RESTful API 的定义,以此来规范 RESTful 服务开发过程。

发展历程

在发展历程方面,OpenAPI的发展可以分为以下几个阶段:

起步阶段:2011年至2013年,这一阶段主要是API描述语言的提出和应用。
发展阶段:2013年至2016年,这一阶段主要是OpenAPI标准的制定和推广。
成熟阶段:2016年至今,这一阶段主要是OpenAPI的广泛应用和普及。

OpenAPI规范

OpenAPI接口文档规范包括如下几点 :

  • 端点描述(如 GET /user , Post /user);
  • 操作的参数,入输入参数,输出参数;
  • 认证信息
  • 联系信息,许可条款,声明等

OpenAPI规范
OpenAPI规范(中文版)

OpenAPI价值

1、使用 OAS 帮助激发需求:标准的文档化描述,有利于团队协同
2、使用OAS进行API设计:无论 API设计工具提供商使用什么工具和工件,OAS 都会提供设计过程的有形输出。拥有一个定义良好且可版本化的工件对于 API 生命周期后续步骤的准确性和效率至关重要。OpenAPI 文档(使用适当的机制进行源代码控制)允许以合理的方式实现这一点,并为开发提供清晰明确的输入。
3、使用 OAS 配置您的基础设施:API 管理可以说是这种情况下最常见的架构组件。其功能是保护 API 提供商的 API,并提供基于生命周期的功能,帮助组织无缝操作其 API。大多数 API 管理工具都支持使用 OpenAPI 文档作为配置的输入,例如,使用它来构建 API 网关配置,该配置观察 API 的结构并实现路径和参数验证、请求正文验证并提供对与 API 功能相关的安全系统的标注。
4、使用 OAS 进行API测试:API 测试是 OAS 大量投资工具作为输入的一个领域。例如,使用工具执行合同测试来检查设计和实现是否匹配是 API 提供商的常见活动。对于安全工具来说也是如此,它测试 API 足迹是否存在实现中的弱点。OpenAPI 文档提供了 API“应该”提供什么的定义,因此为可能无意暴露或实施薄弱安全实践的基线提供了基础。

API 生命周期中的 OAS

当人们考虑 API 生命周期时,就会开始清楚 OpenAPI 文档的有用性。考虑下面的简单 API 生命周期。它基于 API 优先的设计思想,无需编写任何实现代码即可设计接口。OAS 可以在此生命周期的每个阶段使用。

组织内的 API 生命周期显然比上述步骤有更多细微差别,并且无疑将针对使用中的软件开发生命周期进行定制。例如,敏捷方法可以多次迭代上面所示的步骤。然而,出于示例的目的,这种简化的视图有其优点,因为它显示了 OAS 在每个阶段的实用性。

OpenAPI参考实现

Swagger设计工具是OpenAPI规范的基准实现,由多个组件组成,它是一个开源的构建工具,能够帮助开发人员设计,构建文档,测试接口,文档规范化,和消费掉Restful API。主要功能包括:

  1. Swagger Editor 是一个编辑工具,可以编辑描述API;
  2. Swagger UI 能让OpenAPI呈现出规范的可交互的API文档,以供他人查阅;
  3. Swagger Codegen 基于OpenAPI规范 能够生成客户端类库,服务端文档和存根,并且支持多语言,支持使用Docker,jar等方式运行构建;

参考资料

Swagger
什么是OpenAPI?

搜索、试用、集成国内外API!
幂简集成API平台已有 4673种API!
API大全