javidalpe/laravel-idempotency

Laravel Idempotency 中间件

1.1 2020-07-01 03:42 UTC

This package is not auto-updated.

Last update: 2024-09-20 01:04:03 UTC


README

首先,什么是幂等性以及为什么需要它?

查看Brandum Leach的这篇精彩文章:幂等性.

安装

使用以下命令通过composer安装此包

composer require javidalpe/laravel-idempotency 

用法

在您的http kernel文件上注册Idempotency中间件

'api' => [
    'throttle:60,1',
    'bindings',
    \Javidalpe\Idempotency\Idempotency::class,
], 

要执行幂等请求,请向请求提供额外的 Idempotency-Key: <key> 标头。

它如何工作

如果请求中存在 Idempotency-Key 标头,且请求方法不是GET、PUT和DELETE,则中间件会将响应存储在缓存中。下次您使用相同的幂等性键进行请求时,中间件将返回缓存的响应。

如何创建唯一的键由您决定,但我建议使用V4 UUID或另一个合适的随机字符串。对于使用相同键发出的请求,它将始终返回相同的响应,并且键不能与不同的请求参数一起重用。键在24小时后过期。

许可协议

Laravel Idempotency 是开源软件,许可协议为 MIT 协议