devlabor / laravel-api
Laravel 包,用于快速构建 REST API。
v2.0.1
2022-07-26 09:51 UTC
Requires
- php: ^8.0
- ext-json: *
- spatie/laravel-query-builder: ^5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.0
- psalm/plugin-laravel: ^2.0
- vimeo/psalm: ^4.0
This package is auto-updated.
Last update: 2024-09-26 14:47:42 UTC
README
本包基于 "spatie/laravel-query-builder",允许您快速为 Laravel 应用创建 API 控制器。本包还与授权策略兼容。
基本用法
创建一个新的 API 控制器:ProductApiController
use DevLabor\Api\Http\Controllers\ApiController; // ... class ProductApiController extends ApiController { // ... }
在 routes/api.php 中扩展您的 API 路由
// ... Route::resource('products', 'Api\ProductApiController');
有时您需要在 API 中为对象指定一个标识符。为此,您可以使用 DevLabor\Api\Http\Resources\ApiResource 作为您自己的资源类的基类
use DevLabor\Api\Http\Resources\ApiResource; class Product extends ApiResource { // }
安装
您可以通过 composer 安装此包
composer require devlabor/laravel-api
您可以选择使用以下命令发布配置文件
php artisan vendor:publish --tag=api
这是发布配置文件的内容
return [ 'pagination' => [ /** * Number of items per page returned in index() */ 'items' => 20 ] ];
使用方法
配置策略授权
通过修改控制器类中的 $authorizeAbilities 成员,可以部分限制授权检查。
// ... protected $authorizeAbilities = [ 'viewAny', // index 'view', // show 'store', 'update', 'destroy' ];
有关策略的更多信息,请参阅 Laravel 的创建策略
禁用策略授权
您可以通过在控制器类中更改以下成员来禁用完整的检查。
protected $authorizeAbilities = false;
配置自定义路径
/** * Models location * @var string */ protected $modelPath = 'App\\Models\\'; /** * Resources location * @var string */ protected $resourcePath = 'App\\Http\\Resources\\';
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全相关的问题,请通过电子邮件 office@devlabor.com 而不是使用问题跟踪器。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。