klisica/api-formula
基于 artisan 命令的 Laravel API 架构构建工具。
v1.0.2
2022-01-29 14:49 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 06:03:13 UTC
README
基于 artisan 命令的 Laravel API 架构构建工具。
此包提供了一种优雅且流畅的方式生成组合的 控制器、模型、迁移、请求、资源、仓库 和 服务,从而保持代码结构良好且井然有序。
安装
使用 composer 安装此包,执行设置命令并将 RepositoryServiceProvider.php
文件注册到 config > app.php
下的 providers
数组中。
composer require klisica/api-formula
php artisan api-formula:setup
'providers' => [ ... App\Providers\RepositoryServiceProvider::class, ... ],
接下来,在 routes > api.php
中添加 // @API_FORMULA_AUTOIMPORT
注释以启用资源路由的自动导入。例如,我喜欢在中间件组中绑定导入
... Route::midleware('auth:sanctum')->group(function () { Route::resource('job_posts', 'JobPostController')->parameters(['' => 'job_post']); ... // @API_FORMULA_AUTOIMPORT });
要发布配置文件,请运行
php artisan vendor:publish --provider="KLisica\ApiFormula\Providers\ApiFormulaServiceProvider"
使用方法
⭐ 要启动 API 构建器,请运行以下命令
php artisan api-make:formula
要手动创建特定文件,可以使用以下命令之一
php artisan api-make:model ModelName php artisan api-make:migration create_example_table php artisan api-make:repository RepositoryName --model=ModelName php artisan api-make:service ServiceName php artisan api-make:request RequestName php artisan api-make:controller ControllerName --model=ModelName
与此包一起使用的其他外部包
在模型上过滤和排序
每个模型都使用自定义的 Filterable 特性,该特性处理模型上的简单基于查询的过滤和排序功能。
- 过滤器接受格式为
column[operator]=value
。 - 要过滤 关系,格式为
relationName|column[operator]=value
(注意两者之间的|
分隔符)。 - 默认情况下,自由文本过滤器为
_text
查询参数。
JSON 示例
{ page: 1, per_page: 10, sort_by: ['created_at', 'desc'], 'name[equal]': 'Name example', 'relation|name[equal]': 'Relation name example', '_text': 'Search for something' 74 }
原始 URL 查询示例
http://api-formula.test/api/job_posts?per_page=10&page=1&sort_by[0]=created_at&sort_by[1]=desc&name[equal]=Name example&relation|name[equal]=Relation name example