nhatnathando/laravel-api-replay 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nhatnathando/laravel-api-replay

最新稳定版本:v1.0.5

Composer 安装命令:

composer require --dev nhatnathando/laravel-api-replay

包简介

Log, store, and replay Laravel API requests.

README 文档

README

Record incoming HTTP requests and responses, store them efficiently, and replay any request accurately for debugging and comparison via a modern Dashboard.

✨ Features

  • ⚡ Middleware Recording: Automatically capture Request/Response details.
  • 🖥️ Dashboard UI: Visual interface to browse logs and trigger replays (default at /api-replay).
  • 🛡️ Production Safety: Automatic DB Rollback for dry-run replays to keep your data safe.
  • 🔐 Sensitive Data Masking: Automatically masks passwords and sensitive headers.
  • 🎯 Accurate Replay: Reconstructs requests using the Laravel HTTP client.
  • 🏗️ Artisan Command: Still supports php artisan replay:request {uuid}.

📦 Installation

  1. Install via composer:
composer require nhatnathando/laravel-api-replay

View on Packagist

  1. Publish configuration, migrations, and UI views:
php artisan vendor:publish --tag="api-replay-config"
php artisan vendor:publish --tag="api-replay-migrations"
php artisan vendor:publish --tag="api-replay-views"
  1. Run migrations:
php artisan migrate

🛠 Usage

1. Register Middleware

Add the middlewares to your app/Http/Kernel.php (or bootstrap/app.php for Laravel 11+):

protected $middlewareGroups = [
    'api' => [
        \Storage\ApiReplay\Http\Middleware\RecordApiRequest::class,
        // Optional: Add this to enable automatic DB rollback during Dry Run replays
        \Storage\ApiReplay\Http\Middleware\SimulationMiddleware::class,
    ],
];

2. Dashboard UI

Access the dashboard at /api-replay in your browser. You can:

  • View all recorded API calls.
  • Compare original response vs replay response.
  • Enable Dry Run Mode to simulate the request without persisting DB changes.

3. Programmatic Safety

Use the ApiReplay helper to skip side-effects (like sending real emails) during a replay:

use Storage\ApiReplay\Support\ApiReplay;

if (ApiReplay::isDryRun()) {
    // Skip sending real SMS or calling external 3rd party APIs
    return;
}

⚙️ Configuration

Check config/api-replay.php for options:

  • enabled: Toggle recording.
  • log_response: Enable/disable response body logging.
  • sensitive_headers: List of headers to mask.
  • sensitive_fields: List of JSON fields to mask.

🧪 Testing

./vendor/bin/phpunit

If you find this package useful, please consider supporting my work:

Buy Me a Coffee at ko-fi.com

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固