andreacivita/api-crud-generator

Laravel的简单API CRUD生成器

0.5.1 2022-03-06 09:57 UTC

README

Build Status codecov Codacy Badge Latest Stable Version License

Laravel | API CRUD Generator

此生成器包提供了模型、控制器、请求、路由和测试的生成器,以实现无痛苦的开发。

安装

通过Composer安装包。

从终端运行Composer require命令

composer require andreacivita/api-crud-generator --dev

设置

从终端运行此命令

php artisan vendor:publish

选择andreacivita/api-crud-generator并完成设置。

用法

管理所有数据库

此包的用法非常简单。

首先,假设我想生成我数据库中所有表的CRUD。

因此,我们运行

php artisan make:crud --all

不需要其他选项。您的设置已完成!

交互式模式

您可以使用交互式模式或手动管理单个表(参见下一段)。

只需运行

php artisan make:crud --interactive

CRUD生成器将询问您多个数据(资源名称、表名称和使用时间戳)。

管理单个数据库表

现在假设我正在生成Car数据库表的CRUD操作。

运行此命令

php artisan make:crud Car

完成!您将拥有Car模型(位于App/Model目录)、CarController、CarRequest(用于输入数据)和路由(位于routes/api.php)。

选项

表名称

默认情况下,数据库表名是复数,而模型类名是单数(例如,表 => Cars,模型 => Car)。您可以通过在终端指定名称来更改此行为

php artisan make:crud Car --table Car

这将创建相同的资源,但模型中的表名将为'Car'(而不是默认的'Cars')

时间戳

默认情况下,此包将所有时间戳设置为false。您可以通过此命令更改此设置

php artisan make:crud Car --timestamps true

这将设置模型类中的'timestamps=true'。

Laravel/PASSPORT集成

默认情况下,路由将不会被passport保护。但是,您可以使用此命令生成由passport保护的路由

php artisan make:crud Car --passport

这将设置模型类中的'timestamps=true'。

路由

路由将遵循Route::resource()模式(由Laravel提供的默认路由模式)。

示例:我正在生成Car crud

请记住,所有API路由都有'api/'前缀。

测试

当创建CRUD结构(控制器、模型、请求、资源、工厂和路由)时,此包将生成功能测试文件。

设置生成的CRUD

工厂

测试现在需要工厂类来操作数据。您应该在您的工厂类中提供数据模式(使用Faker),这样您就可以轻松测试您的API

验证器

编写更好的代码将极大地帮助您!因此,控制器默认行为是强制您使用验证后的数据。您必须在您的FormRequest类中设置所有验证规则。

例如,对于Car Crud,您将在您的App\Request\CarRequest.php中设置规则

贡献

此包受MIT许可协议保护。您可以对此代码做任何您想做的事情。

请随意fork此包,并通过提交拉取请求来贡献以增强功能。您可以看到问题或增强功能并分配任务以进行贡献:)

我该如何感谢您?

收藏此仓库或关注我的GitHub。如果愿意的话,您还可以分享此链接!:)

作者

此软件包最初由Andrea Civita开发
特别感谢Bastianjoel的贡献,他提交了pull request