2017-07-06 1 views
0

J'ai construit une application angulaire qui appelle une API REST pour insérer des données dans la base de données MySQL.La requête http angulaire réessaye provoque l'insertion multiple

La logique est que si l'application n'obtient pas de réponse dans les 10 secondes, elle réessaie la même requête.

Sur le serveur, une logique est appliquée pour calculer certaines valeurs requises pour insérer les données. Ainsi, lorsque le nombre d'enregistrements d'insertion transmis par le client est supérieur, la requête ne peut pas être terminée dans les 10 secondes. Le client annule la demande et réessaie la même chose. Cela provoque l'insertion de plusieurs enregistrements.

Quelqu'un pourrait-il suggérer une solution éprouvée pour le même?

Merci d'avance.

+0

Eh bien, ne réessayez pas. Quel est le point de réessayer si vous n'obtenez aucune erreur? Cela ne fera que causer des doublons, et mettre encore plus de pression sur un serveur déjà débordé. –

+0

J'ai planifié d'apposer un identifiant de requête unique à chaque requête à l'API et, à la fin de l'API, de vérifier si la requête a déjà été traitée. Si oui, envoyez un message d'erreur indiquant que la demande en double est reçue. Est-ce une bonne solution? –

Répondre

0

Effectuez une nouvelle tentative sur une erreur, sinon vous obtiendrez des doublons pour les réponses ne vous trompez pas (en fin de compte, vous obtiendrez une réponse).