nadar / yii-rest-client
A Yii Framework Component in order to work with the LUYA headless REST Client. The LUYA REST Client is an Active Record similar solution for REST Clients.
Installs: 1 412
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 1
Open Issues: 0
Requires
- luyadev/luya-headless: ^2.7
- yiisoft/yii2: ^2.0
Requires (Dev)
- luyadev/luya-testsuite: ^1.1
This package is auto-updated.
Last update: 2024-11-29 06:22:12 UTC
README
A Yii Framework Component in order to work with the LUYA headless REST Client. The LUYA REST Client is an Active Record similar solution for APIs.
It works with Yii Framework out of the box, therefore those things are included:
- Use
fields
in your requests - Use
sort
in your requests - Working with
expand
- Caching
- CRUD (Create new records, Read records, Update records, Delete records) API operations
- Similar to Yii Framework Active Query and Active Record
Installation
Installation via composer
composer require nadar/yii-rest-client
Usage & Dokumentation
Configure your API Client:
'components' => [ 'api' => [ 'class' => 'Nadar\YiiRestClient\Api', 'server' => 'https://myapi.com', 'accessToken' => '...', ] ]
To see all LUYA Headless functions see the LUYA Headless Documentation
Now add your Rest Model (Active Endpoint), this represents the Model on the client side. It provides basic getter and setter methods same as Yii Framework.
class ApiCars extends \luya\headless\ActiveEdnpoint { public $id; public $name; public $year; public function getEndpointName() { return '{{%cars}}'; } }
The above example assumes the full endpoint is https://myapi.com/cars
.
Working with the Model to make CRUD operations like list, edit, save.
Foreach Data (Will make a GET request):
foreach (ApiCars::find()->all(Yii::$app->api->client)->getModels() as $car) { var_dump($car->name); }
View One and Update the record (Will make a PUT request):
$car = ApiCars::viewOne(1, Yii::$app->api->client); echo $car->name; // f.e BMW $car->name = 'Mercedes'; $car->save(Yii::$app->api->client);
Add new entry (will make a POST request):
$car = new ApiCars(); $car->name = 'Honda'; $car->save(Yii::$app->api->client);
To see all LUYA Headless functions see the LUYA Headless Documentation