行业背景
API 测试和开发工具的主要功能如下:
1. 模拟 HTTP 请求:API 测试和开发工具可以模拟各种 HTTP 请求,如 GET、POST、PUT、DELETE 等,以便于调用和测试 API。
2. 响应验证:API 测试和开发工具能够验证 API 响应的数据格式、状态码、头部信息等,以确保 API 响应符合预期。
3. 参数传递:API 测试和开发工具支持通过 URL 参数、请求体参数、表单数据等方式传递数据,以便于测试 API 参数的合理性和有效性。
4. 自动化测试:API 测试和开发工具可以编写自动化测试脚本,实现对 API 的自动化测试,提高测试效率。
5. 断点调试:API 测试和开发工具提供断点调试功能,便于开发人员定位和解决问题。
6. 监控和日志:API 测试和开发工具可以记录 API 请求的详细信息和响应数据,便于分析和排查问题。
7. 团队协作:API 测试和开发工具支持多人协作,可以共享测试结果和数据,提高团队协作效率。
8. 接口文档生成:API 测试和开发工具可以根据 API 请求和响应数据自动生成接口文档,方便团队成员理解和使用。
9. 跨平台和跨语言:API 测试和开发工具通常具有跨平台和跨语言的支持,可以在不同操作系统和编程语言环境下使用。
10. 扩展性:API 测试和开发工具通常具有丰富的插件和扩展,可以集成其他工具和框架,满足不同场景的需求。
开源 API 管理平台是一种免费或开源的软件,用于管理和维护 API。
这些平台提供了各种功能,如 API 创建、发布、测试、监控和文档化。以下是一些流行的开源 API 管理平台:
1. doclever:这是一个商业化开源产品,完全免费。无论你是前端工程师,还是后端工程师,doclever 都旨在解决接口的管理、测试与数据生成,实现真正的一体化解决方案。
2. crabc:这是一个低代码开发平台,企业级 API 发布管理系统。采用 Spring Boot、JWT、MyBatis 等框架和 SPI 插件机制实现。支持接入 MySQL、Oracle、PostgreSQL、SQL Server、Elasticsearch、MongoDB 等 SQL 或 NoSQL 数据源。在编辑框内编写好 SQL 后,即可快速生成 REST 接口对外提供服务。
3. MT-AUTH:这是一款基于 Spring Boot、OAuth2、事件驱动的多租户权限管理(RBAC)系统。集成 Spring Cloud Gateway 网关提供 API 鉴权,缓存,跨域,CSRF 防护等常用功能。使用 Apache-2.0 开源协议,个人请使用云版本避免从零构建权限管理系统,企业请单独部署。
这些开源 API 管理平台可以帮助企业更好地管理 API,提高开发效率,降低维护成本。不同的平台有不同的特点和功能,可以根据实际需求选择合适的解决方案。
fusio简介
Fusio是一个开源 API 管理平台,有助于创建创新的 API 解决方案。
github地址:github.com/apioo/fusio
Fusio 是一个开源 API 管理平台,有助于创建创新的 API 解决方案。我们知道构建完整的 API 产品并非易事,因此我们创建了 Fusio,它在 API 生命周期的各个方面为您提供支持:
-
构建
Fusio 提供了多种构建新 API 端点的方法,它可以代理现有 API,直接使用外部数据库或文件,还可以实现自定义业务逻辑 -
文档
Fusio 包含一个模式存储,可用于描述每个端点的请求和响应负载。然后,这些模式用于生成 OpenAPI 规范或客户端 SDK。 -
货币化
Fusio 提供了一种通过使用 Stripe 等支付提供商将现有 API 货币化的简单方法。 -
Fusio入门
提供了一个随时可用的开发人员门户,外部开发人员可以在其中注册以使用您的 API。 -
Integration
Fusio 包含一个强大的 SDK 生成器,可以自动生成高质量且随时可用的代码,以便您的用户可以轻松使用您的 API。 -
监控
Fusio 提供了一个直观的后端,您可以在其中监控 API 的重要方面。
用例
Fusio 可以帮助您解决以下用例:
-
API-Product
Fusio 可帮助您创建出色的 API 产品,除了构建 API 之外,它还提供开发人员门户,开发人员可以在其中注册以及通过 API 获利的方式 -
API-Gateway
Fusio 可用作内部 API 和微服务的网关。它处理所有常见功能,如授权、速率限制和模式验证 -
SPA 后端
Fusio 可以用作后端,使用流行的 Javascript 框架(例如 Angular、React 或 Vue)构建 SPA。它提供了一个强大的代码生成器,可以自动为您的API生成SDK -
低代码平台
Fusio 允许您在无需编码知识的情况下构建 API 端点。即它提供了一个实体生成器,您可以使用它轻松创建完整的 CRUD API。 -
API 框架
对于更复杂的用例,您还可以使用 Fusio 作为框架从头开始构建完整的 API。这意味着您可以构建自定义操作,在其中可以使用广泛的 PHP 生态系统来解决您的任务。
特征
Fusio 是一个 API 管理平台,您可以在其中配置执行特定操作的操作。一个操作会触发您的业务逻辑。Fusio 涵盖了 API 生命周期的许多方面,以便您可以专注于编写 API 的实际业务逻辑。请查看我们的文档网站 以获取更多信息。以下功能列表为您提供了初步概述:
-
OpenAPI 生成
Fusio 自动为定义的路由生成 OpenAPI 规范 -
SDK 生成
Fusio 可以根据定义的架构自动为您的 API 生成客户端 SDK -
订阅支持
Fusio 包含一个事件订阅层,有助于为您的 API 构建发布/订阅 -
速率限制
Fusio 提供了一种根据用户或应用程序对请求进行速率限制的方法 -
授权
Fusio使用OAuth2进行API授权 -
货币化
Fusio 提供了一个简单的支付系统来对特定路线进行收费 -
验证
Fusio 使用 TypeSchema 自动验证传入的请求数据 -
分析
Fusio 监控所有 API 活动并将其显示在仪表板上 -
用户管理
Fusio 提供了一个开发者应用程序,新用户可以通过 GitHub、Google、Facebook 或通过普通电子邮件注册登录或注册新帐户
应用
由于使用 API 很困难,因此只有应用程序 Fusio 提供了有助于使用 API 的应用程序。大多数应用程序都是简单的 JS 应用程序,它们与 Fusio 的内部 API 配合使用。您可以在我们的市场上查看所有可用应用程序的列表 。您可以通过 CLI 命令 ie php bin/fusio marketplace:install fusio
或通过后端应用程序安装此类应用程序。
所有应用程序都安装到该apps/
文件夹中。您需要.env
通过定义APP_APPS_URL
变量来告诉 Fusio 文件中 apps 文件夹的公共 url。根据您的设置,这可以是自定义子域(例如) https://apps.acme.com
,也可以只是子文件夹https://acme.com/apps
。
生态系统
Fusio 是一个开源项目,您可以根据 Apache 2.0 许可证条款免费将其用于私人和商业项目。除了我们的核心产品之外,我们还提供附加服务来增强 Fusio 的功能。
-
TypeAPI
一种 OpenAPI 替代方案,用于描述用于类型安全代码生成的 REST API。 -
TypeSchema
一种 JSON 格式,以语言中性格式描述数据模型。 -
TypeHub
一个用于设计和构建 API 模型和客户端 SDK 的协作平台。 -
SDKgen
SDKgen 是一个功能强大的代码生成器,可以自动为您的 REST API 构建客户端 SDK。 -
APIgen
根据您的数据模型生成完全可用且可自定义的 API。 -
PSX
一个创新的 PHP 框架,致力于构建完全类型化的 REST API。
安装
可以通过 Composer 或手动文件下载来安装 Fusio。
Composer
composer create-project fusio/fusio
下载
配置
您可以按照以下步骤手动安装 Fusio,也可以使用基于浏览器的安装程序(位于 ) public/install.php
。请注意,出于安全原因,强烈建议在安装后删除安装程序脚本。
-
调整配置文件打开Fusio目录中的
文件,并将其更改为指向公共文件夹的域。还将数据库凭据插入到密钥中。可选调整应用程序文件夹的公共 URL(如果您想使用应用程序)。.env``APP_URL``APP_CONNECTION``APP_APPS_URL
-
执行安装命令
安装脚本将 Fusio 数据库架构插入到提供的数据库中。可以使用以下命令来执行php bin/fusio migrate
。 -
创建管理员用户
安装完成后,您必须创建一个新的管理员帐户。因此您可以使用以下命令php bin/fusio adduser
。选择帐户类型“管理员”。 -
安装后端应用程序
要通过管理面板管理您的 API,您需要安装后端应用程序。可以使用以下命令安装该应用程序php bin/fusio marketplace:install fusio
您可以通过使用浏览器访问来验证安装APP_URL
。您应该看到安装成功的 API 响应。
如果您想在特定数据库上安装 Fusio,则需要调整APP_CONNECTION
参数。您可以使用以下连接字符串:
-
MySQL:
pdo-mysql://root:test1234@localhost/fusio
-
PostgreSQL:
pdo-pgsql://postgres:postgres@localhost/fusio
-
SQLite:
pdo-sqlite:///fusio.sqlite
一般来说,可以在我们的数据库抽象层支持的所有数据库上安装 Fusio ,但我们的内部测试用例仅涵盖 MySQL、PostgreSQL 和 SQLite,因此不能保证一切正常。
github地址:github.com/apioo/fusio