Sobes.tech
Junior — Middle

Podes dar exemplos de requisições que não garantem a idempotência?

sobes.tech IA

Resposta da IA

A idempotência significa que chamar uma operação com os mesmos parâmetros não alterará o resultado após a primeira execução.

Exemplos de pedidos que não garantem a idempotência:

  • Pedidos POST que criam novos recursos: cada chamada cria um novo objeto, por exemplo, criar um novo usuário.
  • Pedidos que aumentam um contador: por exemplo, incrementCounter() — chamar novamente aumentará o valor.
  • Pedidos que causam efeitos colaterais: enviar uma notificação, realizar uma transação de pagamento.

Exemplo de um pedido não idempotente na API REST:

POST /orders
{
  "product_id": 123,
  "quantity": 1
}

Cada chamada criará um novo pedido, portanto, uma solicitação repetida alterará o estado do sistema.