rabibgalib / api-action
此软件包可以帮助您使用控制器、请求、特性、模型、迁移、操作类、辅助类来创建API。
v1.0.1
2023-09-18 06:57 UTC
Requires
- php: ^7.4|^8.0
README
Api Action 结构
app
└── ApiActionPackages
│ └── {{ActionName}}
│ │ └── Actions
│ │ │ ├── Create{{ActionName}}
│ │ │ ├── Delete{{ActionName}}
│ │ │ ├── Find{{ActionName}}
│ │ │ ├── List{{ActionName}}
│ │ │ └── Update{{ActionName}}
│ │ └── Helpers
│ │ └── {{ActionName}}Helper
│ └── BaseHelper
│ │ └── BaseHelper
│ └── Traits
│ └── ApiResponse
└── Http
│ └── Controllers
│ │ └── {{ActionName}}Controller
│ └── Requests
│ └── {{ActionName}}Request
└── Models
│ └── {{ActionName}}Model
└── database
└── migrations
└── create_{{ActionName}}_table
api-action
安装
composer require rabibgalib/api-action
配置
如果使用的是较低版本的Laravel,请将提供者添加到您的config/app.php
中的provider
部分。
\Rabibgalib\ApiAction\ApiActionServiceProvider::class,
如果您在新项目或未解决的问题中遇到419 (页面过期)
错误或CORS
或XSRF
问题,请更新App/Http/Middleware/VerifyCsrfToken.php
如下 -
protected $except = [ "*" ];
运行命令
安装和配置完成后,运行以下命令 -
php artisan make:api-action ActionName
示例
如果您想创建一个Post操作API。请写入以下命令 -
php artisan make:api-action Api/Post
此命令将创建
- 一个API PostController
- 操作目录
- 操作类
- 辅助类
- 特性
- 表单请求
- 模型
- 迁移
以实现应用程序的功能服务。
现在将以下代码放入Post
模型中 -
protected $fillable = [ 'author', 'title', 'description' ];
现在将以下代码放入posts
迁移中 -
$table->string('author')->nullable(); $table->string('title')->nullable(); $table->string('description')->nullable();
在迁移命令后,设置routes/web.php如下 -
use App\Http\Controllers\Api\PostController; Route::get('posts', [PostController::class, 'index']); Route::post('post', [PostController::class, 'create']); Route::get('post/{id}', [PostController::class, 'find']); Route::put('post/{id}', [PostController::class, 'update']); Route::delete('post/{id}', [PostController::class, 'delete']);
现在,您可以在Postman或Insomnia中轻松测试API。