aef / laravel-batch-requests
这是一个 Laravel 扩展包,用于高效处理批量 API 请求,通过单次批量操作减少网络开销,并提高大批量操作的性能。
v1.0.1
2024-08-13 11:38 UTC
Requires
- php: ^7.3|^8.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-13 11:51:33 UTC
README
这是一个 Laravel 扩展包,用于高效处理批量 API 请求,通过单次批量操作减少网络开销,并提高大批量操作的性能。
安装
您可以通过 composer 安装此包
composer require aef/laravel-batch-requests
配置
发布配置文件
php artisan vendor:publish --provider="LaravelBatchRequests\BatchRequestServiceProvider" --tag="config"
这将创建一个 config/batch-requests.php 文件,您可以在此文件中修改包的设置。
使用方法
use LaravelBatchRequests\Http\Controllers\BatchRequestController; Route::post('batch', [BatchRequestController::class, 'process']);
要使用批量请求功能,向 /api/batch
端点发送包含请求数组的 JSON 负载的 POST 请求
{ "requests": [ { "id": "get-user", "method": "GET", "uri": "/api/users/1", "headers": { "Accept": "application/json" } }, { "id": "create-post", "method": "POST", "uri": "/api/posts", "parameters": { "title": "New Post", "content": "This is the content of the new post." }, "headers": { "Content-Type": "application/json", "Accept": "application/json" } } ] }
响应将包含所有批量请求的结果,并将正文返回为解析后的 JSON
{ "results": [ { "id": "get-user", "status": 200, "headers": { "Content-Type": "application/json" }, "body": { "id": 1, "name": "John Doe" } }, { "id": "create-post", "status": 201, "headers": { "Content-Type": "application/json" }, "body": { "id": 101, "title": "New Post", "content": "This is the content of the new post." } } ] }