大家好,我是GitHub好项目君,每天分享GitHub上的好项目
我们每天分享开源项目,根据开源协议都可以赚钱
Fusio
是一个开源 API 管理平台,有助于创建创新的 API 解决方案。
源代码:
http://www.gitpp.com/yf/fusio-cn
Fusio是Postman的替代品, Postman是美国一家软件公司,已经完成数亿美金的融资。
行业背景
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 测试和开发工具通常具有丰富的插件和扩展,可以集成其他工具和框架,满足不同场景的需求。
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 生态系统来解决您的任务。
特征
以下功能列表为您提供了初步概述:
-
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,也可以使用基于浏览器的安装程序(位于 )