Ідемпотентність для Laravel — це готовий до використання пакет для реалізації ідемпотентності в API запитах. Використовуючи цей пакет, клієнти можуть безпечно повторювати виклики API, не турбуючись про дублюючу обробку.
Завдяки заголовку Idempotency-Key з унікальним UUID, ви можете надсилати один і той же ключ декілька разів, і оригінальна відповідь буде повернута без повторного виконання операції:
POST /api/payments HTTP/1.1
Content-Type: application/json
Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000
{
"amount": 1000,
"currency": "USD",
"description": "Замовлення #1234"
}
При використанні цього пакету відповіді API містять Idempotency-Key, який користувачі API можуть безпечно використовувати в майбутньому для повторного виконання операції.
# Основні функції
- Надійний механізм кешування: Надійно зберігає та надає кешовані відповіді
- Контроль паралельності на основі блокувань: Запобігає гонитвам за умовами за допомогою розподілених блокувань
- Всеосяжна телеметрія: Слідкуйте та контролюйте операції ідемпотентності
- Система сповіщень: Отримуйте повідомлення про підозрілу активність
- Валідація payload: Виявляйте випадки використання одного й того ж ключа з різними payload
- Докладне ведення журналу: Легко виправляйте проблеми з ідемпотентністю
Щоб дізнатися більше про цей пакет, отримати повні вказівки з установки та переглянути вихідний код на GitHub, ви можете встановити пакет через Composer:
composer require infinitypaul/idempotency-laravel
php artisan vendor:publish --provider="Infinitypaul\Idempotency\IdempotencyServiceProvider"