O botón xira, a pestana mostra un erro e o formulario que tardaches dez minutos en encher desapareceu. O que non sabes é se a escritura chegou antes de que morrese a conexión. Tratar esa incógnita como un fallo é como se crean comentarios duplicados, pedidos dobres e tíckets de soporte repetidos.

Recupera nunha orde fixa: conserva o texto, atopa o resultado e só entón decide se se permite un segundo envío.

Empeza polo texto e a marca de tempo

Copia o contido da páxina antes de tocar calquera outra cousa, incluído calquera borrador que o navegador aínda manteña no campo. Anota a hora, a páxina na que estabas e a acción que realizaches, porque eses tres detalles son os que fan posible o resto da investigación. Se a pestana segue aberta, déixaa aberta ata que leas a entrada de rede. Gardar o texto non custa nada e perdelo custa toda a tarefa.

Despois separa as dúas formas de fallo que realmente podes observar. Unha conexión que caeu a metade da petición e un servidor que respondeu cun erro vense distintos no panel de rede, e só a segunda che di algo sobre a decisión da aplicación.

Busca o resultado na vista propia da aplicación

Recarga a vista de lectura que mostraría o resultado: a lista de comentarios, o historial de pedidos, a cola de tíckets ou o rexistro que estabas editando. Compara por conta, destino, hora e contido en lugar de pola entrada máis recente, porque outra persoa pode ter escrito despois de ti. Para unha tarefa en segundo plano, busca a referencia existente e o seu estado en lugar de crear unha operación nova como proba de conectividade.

Se o resultado está alí, remataches e o erro pertence ao camiño da resposta, non á escritura. Se non está, mantén a posibilidade de que a aplicación aínda non o confirmase: unha tarefa en cola, unha vista de lectura atrasada ou unha réplica atrasada poden ocultar durante un tempo unha escritura correcta.

Dálle unha segunda ollada definida antes de sacar unha conclusión e anota a hora de ambas as comprobacións. Dúas comprobacións separadas vinte segundos son moita menos proba que dúas separadas dez minutos.

Decide se un segundo envío é seguro

A resposta depende da operación, non da túa paciencia. HTTP separa os métodos que poden repetirse co mesmo efecto previsto dos que non, e aconsella non reintentar automaticamente os do segundo tipo salvo que se saiba que a semántica o permite. Crear un comentario, facer un pedido e enviar un pagamento adoitan estar no segundo grupo, por iso un segundo clic que parece correcto non di nada sobre o primeiro.

Se mantés o cliente, usa o mecanismo de reintento ou de idempotencia que documenta a API, e ata-o á mesma operación lóxica en lugar de xerar unha clave nova para cada intento. Un identificador de petición usado para o seguimento non é unha clave de supresión de duplicados salvo que o servidor o trate como tal.

curl -i -X POST https://api.example.net/v1/orders \
  -H "Idempotency-Key: 6f1c2a94-3b7e-4a10-9c22-5d0e8f7b1a63" \
  -H "Content-Type: application/json" \
  --data @order.json

A clave só axuda se o servizo a garda asociada á operación e devolve o resultado orixinal nunha repetición. Proba ese comportamento nun punto de proba antes de confiar nel en produción.

Recompila probas antes de volver premer nada

Conserva a entrada de rede en lugar dunha captura de pantalla do erro. O método da petición, a URL, a resposta ou o tempo de espera e a hora en que ocorreu son o que un administrador pode correlacionar cos rexistros da aplicación. Exporta ou copia a entrada como un comando só se despois quitas da copia as cookies, as cabeceiras de autorización e calquera contido privado. Deixa intacta a túa propia sesión e non repitas nunca unha petición capturada con credenciais como atallo.

Pregúntalle ao propietario do servizo unha pregunta concreta: a operación con este contido neste momento tivo éxito e hai unha referencia? Esa pregunta ten resposta, mentres que "rompeu o sitio" non a ten.

O sentido do exercicio é establecer que a acción ocorreu exactamente unha vez. Unha mensaxe de erro que podes descartar non é o mesmo que un rexistro no que podes confiar, e o segundo é o que necesitas antes de enviar calquera outra cousa.

Artigos relacionados