denysloshkarev / laravel-api
Laravel Api 模块。
1.3.10
2020-05-02 18:21 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 06:02:43 UTC
README
$ php composer.phar require dskripchenko/laravel-api "@dev"
或者添加
"dskripchenko/laravel-api": "@dev"
到你的 composer.json
文件的 require
部分。
用法
参见 Dskripchenko\LaravelApiExample\
- 创建
ApiModule
类,继承自Dskripchenko\LaravelApi\Components\BaseModule
- 创建
Api
类,继承自Dskripchenko\LaravelApi\Components\BaseApi
- 定义
getMethods
方法 - 在
ApiModule
中重写getApiVersionList
,返回数组['version' => Api::class]
- 创建
ApiServiceProvider
类,继承自Dskripchenko\LaravelApi\ApiServiceProvider
- 在新创建的
ApiServiceProvider
中重写getApiModule
- 注册
ApiServiceProvider
Api 方法模板
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 注释转换为 Swagger
/** * Method title * Method description * * @input type $requiredVariable1 name1 * @input type ?$optionalVariable2 name2 * * @output type $variable1 name1 * @output type $variable2 name2 */
支持的类型 string|number|integer|boolean|file
门面
- ApiRequest
- getApiVersion
- getApiMethod
- getApiControllerKey
- getApiActionKey
- ApiModule
- getApiPrefix
- getAvailableApiMethods
- getApiUriPattern
- getControllerNamespace
- getApiMiddleware
- getApiVersionList
- makeApi
- ApiErrorHandler
- addErrorHandler
- handle
助手函数
- ApiResponseHelper
- say
- sayError
- ArrayMergeHelper
- merge //深度数组合并
示例
- 注册
Dskripchenko\LaravelApiExample\ExampleApiServiceProvider
- 运行
php artisan vendor:publish
- 运行
php artisan storage:link
- 打开
/api/doc