revangelista/laravel-idempotency

Laravel幂等性中间件

1.0.0 2021-05-07 21:40 UTC

This package is auto-updated.

Last update: 2024-09-09 18:09:31 UTC


README

安装

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

composer require revangelista/laravel-idempotency 

使用方法

在您的http kernel文件中注册幂等性中间件

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

为了执行幂等性请求,向请求中提供一个额外的头信息Idempotency-Key: <key>

它是如何工作的

如果请求中存在头信息Idempotency-Key,并且请求方法是POST,中间件将响应存储在缓存中。下次您使用相同的幂等性密钥进行请求时,中间件将返回缓存的响应。

如何创建唯一的密钥由您自己决定,强烈建议使用V4 UUID或其他适当的随机字符串。它将为使用相同密钥发出的请求始终返回相同的响应,并且密钥不能与不同的请求参数一起重用。密钥在24小时后过期。

要自定义幂等性头信息名称和密钥过期时间,发布配置文件

php artisan vendor:publish --provider "Idempotency\IdempotencyServiceProvider"

并在.env文件中指定如下

IDEMPOTENCY_HEADER="My-Custom-Idempotency-Key",
IDEMPOTENCY_EXPIRATION=1440 #in minutes

了解有关幂等性的更多信息。

许可证

Laravel幂等性是开源软件,受MIT许可证许可。