nadar / yii-rest-client

一个用于与 LUYA 无头 REST 客户端协同工作的 Yii 框架组件。LUYA REST 客户端是一个类似于 Active Record 的 REST 客户端解决方案。

1.0.0 2020-09-25 06:14 UTC

This package is auto-updated.

Last update: 2024-08-29 05:31:09 UTC


README

一个用于与 LUYA 无头 REST 客户端协同工作的 Yii 框架组件。LUYA REST 客户端是一个类似于 Active Record 的 API 解决方案。

它直接与 Yii 框架集成,因此包含以下功能

  • 在请求中使用 fields
  • 在请求中使用 sort
  • 使用 expand 进行操作
  • 缓存
  • CRUD (创建新记录,读取记录,更新记录,删除记录) API 操作
  • 类似于 Yii 框架的 Active Query 和 Active Record

Tests Maintainability Test Coverage

安装

通过 composer 进行安装

composer require nadar/yii-rest-client

使用方法 & 文档

配置您的 API 客户端

'components' => [
    'api' => [
        'class' => 'Nadar\YiiRestClient\Api',
        'server' => 'https://myapi.com',
        'accessToken' => '...',
    ]
]

要查看所有 LUYA 无头功能,请参阅LUYA 无头文档

现在添加您的 Rest 模型(Active Endpoint),它代表客户端端的模型。它提供基本的 getter 和 setter 方法,与 Yii 框架相同。

class ApiCars extends \luya\headless\ActiveEdnpoint
{
    public $id;
    public $name;
    public $year;

    public function getEndpointName()
    {
        return '{{%cars}}';
    }
}

以上示例假设完整端点是 https://myapi.com/cars

使用模型进行 CRUD 操作,如列表、编辑、保存。

遍历数据(将执行 GET 请求)

foreach (ApiCars::find()->all(Yii::$app->api->client)->getModels() as $car) {

    var_dump($car->name);
}

查看并更新记录(将执行 PUT 请求)

$car = ApiCars::viewOne(1, Yii::$app->api->client);
echo $car->name; // f.e BMW
$car->name = 'Mercedes';
$car->save(Yii::$app->api->client);

添加新条目(将执行 POST 请求)

$car = new ApiCars();
$car->name = 'Honda';
$car->save(Yii::$app->api->client);

要查看所有 LUYA 无头功能,请参阅LUYA 无头文档