denysloshkarev / laravel-api
The Laravel Api Module.
1.3.10
2020-05-02 18:21 UTC
Requires
This package is auto-updated.
Last update: 2024-04-29 04:43:06 UTC
README
$ php composer.phar require dskripchenko/laravel-api "@dev"
or add
"dskripchenko/laravel-api": "@dev"
to the require
section of your composer.json
file.
Usage
See Dskripchenko\LaravelApiExample\
- make
ApiModule
extended fromDskripchenko\LaravelApi\Components\BaseModule
- make
Api
extended fromDskripchenko\LaravelApi\Components\BaseApi
- define
getMethods
method - override
getApiVersionList
inApiModule
, return array of['version' => Api::class]
- make
ApiServiceProvider
extended fromDskripchenko\LaravelApi\ApiServiceProvider
- override
getApiModule
in newApiServiceProvider
- register
ApiServiceProvider
Api methods template
protected static function getMethods(){ return [ 'controllers' => [ '{controllesKey1}' => [ 'controller' => '{Controller::class}', 'actions' => [ '{actionKey1}', // api/version/{controllesKey1}/{actionKey1} '{actionKey2}' => '{real method name}', //api/version/{controllesKey1}/{actionKey2} '{actionKey3}' => false, //disable //api/version/{controllesKey1}/{actionKey3} '{actionKey4}' => [ 'exclude-all-middleware' => true, //optional, exclude all global and controller middleware 'middleware' => [ "{Middleware::class}" ], //optional, define specific middleware 'exclude-middleware' => [], //optional, exclude specific middleware ], ], 'exclude-all-middleware' => true, //optional, ... 'middleware' => [], //optional, ... 'exclude-middleware' => [], //optional, ... ] ], 'middleware' => [] //optional, ... ]; }
AutoDoc comments to swagger
/** * Method title * Method description * * @input type $requiredVariable1 name1 * @input type ?$optionalVariable2 name2 * * @output type $variable1 name1 * @output type $variable2 name2 */
Available types string|number|integer|boolean|file
Facades
- ApiRequest
- getApiVersion
- getApiMethod
- getApiControllerKey
- getApiActionKey
- ApiModule
- getApiPrefix
- getAvailableApiMethods
- getApiUriPattern
- getControllerNamespace
- getApiMiddleware
- getApiVersionList
- makeApi
- ApiErrorHandler
- addErrorHandler
- handle
Helpers
- ApiResponseHelper
- say
- sayError
- ArrayMergeHelper
- merge //deep array merge
Example
- register
Dskripchenko\LaravelApiExample\ExampleApiServiceProvider
- run
php artisan vendor:publish
- run
php artisan storage:link
- open
/api/doc