https://medium.com/@AlexanderObregon/understanding-and-implementing-idempotency-in-spring-microservices-d732c8bcdb78