consoletvs / apify
API generator for laravel 5
Requires
- php: >=5.5.9
- doctrine/dbal: ^2.5
- laravel/framework: 5.*
This package is auto-updated.
Last update: 2024-10-29 03:02:51 UTC
README
API generator for Laravel 5
Table Of Contents
Installation
To install apify use composer
Download
composer require consoletvs/apify
Add service provider & alias
Add the following service provider to the array in: config/app.php
ConsoleTVs\Apify\ApifyServiceProvider::class,
Publish the assets
php artisan vendor:publish
Configuration
To configure the package go to: config/apify.php
The default file have a valid example and it's documented, check it out, should look like this:
<?php return [ /* |-------------------------------------------------------------------------- | Prefix used to access the API |-------------------------------------------------------------------------- */ 'prefix' => 'apify', /* |-------------------------------------------------------------------------- | Enables or disabled the whole API endpoints |-------------------------------------------------------------------------- */ 'enabled' => true, /* |-------------------------------------------------------------------------- | The tables enabled for the api and it's columns |-------------------------------------------------------------------------- */ 'tables' => [ // Specify all the tables below 'users' => [ // The columns from the table that will be displayed in the JSON 'id', 'name', 'email', 'created_at', 'updated_at' ], ], ];
Usage
Visit the endpoint like this:
Website URL + /api/ + Prefix + /{table}/{accessor?}/{data?}
table: is the table you want to look at, must be an index of the table array in the configuration.
accessor: is optional, and it's the colum to filter data.
data: is the data you're filtering, you can add multiple data separated with a ,
Note: Remember that all calls to the API goes first to the api
middleware, if you need to modify the api throttle go to: App\Http\Kernel.php
and modify the api throttle.
'api' => [ 'throttle:60,1', 'bindings', ],
The 60
determines the max calls / minute.
The 1
determines the minutes to wait if the max calls are exceded.
Some examples:
http://localhost/web/Laralum3/public/api/apify/users (example URL)
{"users":[{"id":1,"name":"\u00c8rik Campobadal","email":"ConsoleTVs@gmail.com","created_at":"2016-09-22 16:13:28","updated_at":"2016-10-02 11:18:25"},{"id":2,"name":"Second User","email":"ConsoleTV2s@gmail.com","created_at":"2016-09-21 16:13:28","updated_at":"2016-09-22 16:20:00"},{"id":3,"name":"Third User","email":"ConsoleTV3s@gmail.com","created_at":"2016-08-22 16:13:28","updated_at":"2016-09-22 16:20:00"}]}
http://localhost/web/Laralum3/public/api/apify/users/email/ConsoleTVs@gmail.com,ConsoleTV3s@gmail.com (example URL)
{"users":[{"id":1,"name":"\u00c8rik Campobadal","email":"ConsoleTVs@gmail.com","created_at":"2016-09-22 16:13:28","updated_at":"2016-10-02 11:18:25"},{"id":3,"name":"Third User","email":"ConsoleTV3s@gmail.com","created_at":"2016-08-22 16:13:28","updated_at":"2016-09-22 16:20:00"}]}