Desenvolvimento de Software · Avançado · Português · Técnico
idempotente
Diz-se de uma operação que, repetida várias vezes com a mesma entrada, produz o mesmo efeito de uma única execução.
Onde usar
'Esse endpoint precisa ser idempotente': assim, se o cliente reenviar a requisição por causa de um timeout, nada é cobrado duas vezes.
Exemplos
O PUT é idempotente: repetir a chamada deixa o recurso no mesmo estado.
Precisamos tornar esse job idempotente, porque a fila pode entregar a mensagem duas vezes.
Se a operação não for idempotente, o retry automático pode duplicar o pagamento.
Cuidado
Idempotente não quer dizer que a resposta seja sempre idêntica, e sim que o estado final do sistema é o mesmo; também não significa ausência de efeitos colaterais.
Origem
Do latim idem, 'o mesmo', e potens, 'que pode'; o termo vem da matemática, onde designa o que não muda ao ser repetido.