treblle / treblle-lumen
保持API同步
Requires
- php: ^7.2.5 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.5.0 || ^7.0
- illuminate/contracts: ^7.0 || ^8.0 || ^9.0
- illuminate/http: ^7.0 || ^8.0 || ^9.0
- illuminate/support: ^7.0 || ^8.0 || ^9.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- orchestra/testbench: ^5.0 || ^6.0 || ^7.0
README
Treblle
集成 • 网站 • 文档 • 博客 • Twitter • Discord
Treblle是一个轻量级SDK,帮助工程和产品团队更快地构建、发布和维护基于REST的API。
功能
Treblle是如何工作的
一旦您在代码库中集成了Treblle SDK,此SDK将向您的Treblle仪表板发送请求和响应数据。
在您的Treblle仪表板中,您可以看到API的实时请求、自动生成的API文档、API分析,如端点的响应速度、响应负载大小等。
Treblle还会使用发送到您的仪表板的请求来计算您的API评分,这是一个基于API的性能、质量和安全最佳实践的质量评分。
请访问https://docs.treblle.com获取完整文档。
安全
字段屏蔽
字段屏蔽确保在发送到Treblle之前删除某些敏感数据。
为了确保在数据离开您的服务器之前进行屏蔽,我们将其构建到所有SDK中。
这意味着数据屏蔽非常快,在API请求发送到Treblle之前在编程级别上进行。您可以在集成SDK时自定义要屏蔽的确切字段。
开始使用
- 登录到Treblle。
- 创建一个Treblle项目.
- 为您的平台设置SDK。
安装SDK
composer require treblle/treblle-lumen
入门
安装Lumen包比Laravel包复杂得多,需要一些手动步骤。如果您希望实现完全自动化的过程,请使用Laravel。
步骤1:发布配置文件
我们需要做的第一件事是发布Treblle配置文件,并确保Lumen加载它。为此,我们需要像这样复制/粘贴包配置文件
mkdir -p config cp vendor/treblle/treblle-lumen/config/treblle.php config/treblle.php
现在我们可以让Lumen加载配置文件。我们通过在bootstrap/app.php
中添加新行,在注册配置文件部分,像这样来完成
$app->configure('treblle');
我们需要在Lumen中注册Treblle中间件。为此,在bootstrap/app.php
中添加新行代码,在注册中间件部分,像这样
$app->routeMiddleware([ 'treblle' => Treblle\Middlewares\TreblleMiddleware::class ]);
您需要一个 API密钥 和 项目ID 来使Treblle工作。您可以通过在 treblle.com 上创建一个免费账户和您的第一个项目来获取这些信息。您将获得两个密钥,需要将它们添加到您的 .ENV
文件中,如下所示
TREBLLE_API_KEY=YOUR_API_KEY TREBLLE_PROJECT_ID=YOUR_PROJECT_ID
在您的API上启用Treblle
现在我们已经安装了包,我们只需启用它。打开 routes/web.php 并将 treblle 中间件分配给您的API路由,如下所示
$router->group(['prefix' => 'api', 'middleware' => 'treblle'], function () use ($router) { $router->get('users', ['uses' => 'UserController@index']); $router->post('users', ['uses' => 'TestController@store']); });
设置完成。下次有人请求您的API时,您将在Treblle仪表板上实时看到它。
请参阅文档了解此SDK的更多信息。
可用的SDK
Treblle提供开源SDK,让您能够无缝地将Treblle与基于REST的API集成。
treblle-laravel
: 用于Laravel的SDKtreblle-php
: 用于PHP的SDKtreblle-symfony
: 用于Symfony的SDKtreblle-lumen
: 用于Lumen的SDKtreblle-sails
: 用于Sails的SDKtreblle-adonisjs
: 用于AdonisJS的SDKtreblle-fastify
: 用于Fastify的SDKtreblle-directus
: 用于Directus的SDKtreblle-strapi
: 用于Strapi的SDKtreblle-express
: 用于Express的SDKtreblle-koa
: 用于Koa的SDKtreblle-go
: 用于Go的SDKtreblle-ruby
: 用于Ruby on Rails的SDKtreblle-python
: 用于Python/Django的SDK
请参阅文档了解更多关于SDK和集成信息。
其他包
除了SDK之外,我们还提供用于SDK开发的辅助工具和配置。如果您正在考虑为SDK做出贡献或创建SDK,请查看以下资源
treblle-utils
: 一组对JavaScript SDK有用的辅助工具和实用函数。php-utils
: 一组对PHP SDK有用的辅助工具和实用函数。
社区 💙
首先:收藏并关注此存储库 以保持最新。
您可以在Discord上与团队和其他成员聊天,并在YouTube上查看我们的教程和其他视频材料。
如何贡献
以下是一些让Treblle变得更好的贡献方式
- 尝试使用Treblle,并告诉我们如何让Treblle更适合您。在Discord上告诉我们。
- 加入我们的Discord,与其他成员交流并相互学习。
- 向我们在Github上的任何开源仓库发送pull request。查看您想要贡献的仓库中的贡献指南,以获取更多关于如何贡献的详细信息。我们期待您的贡献!
贡献者