engeni / api-tools
Engeni - API 工具
Requires
- php: ^8.2
- firebase/php-jwt: ^6.8
- netresearch/composer-patches-plugin: dev-master
- phpseclib/phpseclib: ^3.0
Requires (Dev)
- rector/rector: ^0.17.1
- dev-master
- v1.8.0
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.5.13
- v1.5.12
- v1.5.11
- v1.5.10
- v1.5.9
- v1.5.8
- v1.5.7
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.1
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- dev-release/v1.2
This package is auto-updated.
Last update: 2024-09-08 17:10:15 UTC
README
!(http://engeni.com/emails/signature/logo.png)
Engeni API 工具是一组用于统一微服务 API 开发的类。
- RESTful URL 和操作
- 结果过滤、排序和搜索
- 限制 API 返回的字段
- 更新和创建返回资源表示
- 上下文和 API 上下文处理
- 还有很多...
请注意,您需要一个 Engeni API 密钥才能访问所有 Engeni API 资源。请联系 Engeni:info@engeni.com。
安装
首先安装 composer。然后
composer require engeni/api-tools
API 客户端服务提供者
此服务提供者可以用来将 API 客户端实例作为服务加载到 laravel 或 lumen 中。它需要安装 engeni/api-client
您可以创建自己的服务提供者并扩展 /Providers/ApiClientServiceProvider.php
,或者直接使用它,记得在 lumen 或 laravel 应用中添加服务。
TokenAuth 中间件
使用此中间件对由 oauth2 服务器(Passport)保护的 lumen/laravel API 进行用户身份验证(/Http/Middleware/TokenAuth.php)。
您可以直接使用它或从它扩展并添加或覆盖功能。
使用示例
为了获得 Engeni API 功能,您必须使用 trair RestfulControllerTrait。
示例 1
仅使用特性
use Illuminate\Routing\Controller as BaseController;
use Engeni\ApiTools\Traits\RestfulControllerTrait;
class UserController extends BaseController
{
use RestfulControllerTrait;
}
示例 2
扩展使用特性的类。然后 $model 必须定义以执行魔法(index (get /),show (get for id),store,update,destroy)
namespace App\Http\Controllers;
use Laravel\Lumen\Routing\Controller as BaseController;
use Engeni\ApiTools\Traits\RestfulControllerTrait;
class Controller extends BaseController
{
use RestfulControllerTrait;
//
}
然后
namespace App\Http\Controllers;
class UserController extends Controller
{
// Trait related lines
protected $model = 'App\Models\User'; // <- optional
// optional
protected $validationRules = ['username' => 'required',
'name' => 'required',
'password' => 'required'];
}
如果您没有定义 $model,则类将解析 Controller 类名以获取它。例如:从 UserController 将获取 User 并将模型定义为 App\Models\User
享受。Engeni 团队。 https://engeni.com