Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Definição de idepotência

Olá, tudo bem?

Pela especificação de idempotência do protocolo HTTP(https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html), um método idempotente é um em que o efeito colateral de múltiplas requisições é o mesmo de uma única requisição.

A resposta do exercício diz que, se um novo produto for adicionado entre duas requisições DELETE, a idempotência do DELETE é quebrada, mas esta parte ficou confusa para mim. Ao final da segunda requisição o produto recém inserido será removido, então isso realmente quebra a idempotência? O efeito colateral da chamada não é atingir um estado em que o recurso deletado não exista? Ou o que importa mesmo é a transação, que seria executada duas vezes?

1 resposta
solução

Olá Fernando!

Acredito que nesse caso ela seria quebrada pelo fato de que no exemplo o ID dos produtos são os mesmos. Ou seja, em uma requisição você poderia estar removendo um produto e em outra requisição poderia estar removendo o outro entende? O que vai contra a definição de idempotência já que o "efeito colateral de múltiplas requisições" não é o mesmo de uma única requisição.