kakhura/laravel-check-requests

此包用于检查请求

2.0.0 2020-10-16 16:00 UTC

This package is auto-updated.

Last update: 2024-09-17 01:03:18 UTC


README

文档

安装

通过执行以下命令将包添加到您的composer.json中。

composer require kakhura/laravel-check-requests

对于5.5版本之前的Laravel或未使用自动发现的情况,请在config/app.php中注册服务提供者

'providers' => [
    /*
     * Package Service Providers...
     */
    \Kakhura\CheckRequest\CheckRequestServiceProvider::class,
],

配置

如果您想更改默认配置,您必须通过在控制台中运行此命令将默认配置文件发布到您的项目

php artisan vendor:publish --tag=kakhura-check-requests-config

此命令将文件[/vendor/kakhura/laravel-check-requests/config/kakhura.check-requests.php]复制到[/config/kakhura.check-requests.php]

默认的kakhura.check-requests.php如下所示

return [
    /**
     * Which methods supports this package.
     */
    'request_methods' => [
        'post',
        'put',
    ],

    /**
     * Package use or not auth user check.
     */
    'use_auth_user_check' => false,
];

视图

发布配置后,您必须在控制台中运行此命令以发布视图

php artisan vendor:publish --tag=kakhura-check-requests-views

此命令将文件[/vendor/kakhura/laravel-check-requests/resources/views]复制到[/resources/views/vendor/admin/check-requests]

迁移

发布视图后,您必须在控制台中运行此命令以发布迁移

php artisan vendor:publish --tag=kakhura-check-requests-migrations

此命令将文件[/vendor/kakhura/laravel-check-requests/database/migrations]复制到[/database/migrations]

发布迁移后,您必须将HasRelatedRequest特质添加到您的模型中,以检查请求是否已经发送

use Kakhura\CheckRequest\Traits\Models\HasRelatedRequest;

class Application extends Model
{
    use HasRelatedRequest;
}

您必须在所有模型创建功能中创建RequestIdentifier实例,如下所示

use Models\Application;

class ApplicationService extends Service
{
    public fucntion create(array $data) 
    {
        ...
        $application = Application::create($data);
        $application->createRequestIdentifier(strval($requestId));
        ...
    }
}

之后,在您想要检查请求存在性的所有路由上,您必须使用中间件别名with_request_identifier

此外,您还可以检查请求是否已发送并接收已发送请求的模型。端点是http://domain.com/requests/check/{requestId}。如果请求未找到,此端点将返回404未找到。如果找到请求,您将收到如下响应

return [
   'id' => 'model_uuid' ?: 'model_id',
   'model' => 'application',
];

享受吧。