Est-ce une bonne pratique d'effectuer un POST dans une requête GET ?
P粉434996845
P粉434996845 2023-09-12 09:11:31
0
1
564

Comme le titre l'indique, je souhaite faire une requête POST en même temps qu'une requête GET. Est-ce une bonne pratique ? Ou un énorme non-non ?

En effet, la fonctionnalité de mon application fonctionne comme suit : lorsque la page se charge, elle doit obtenir les données utilisateur. Si les données utilisateur ne sont pas dans la base de données, elles doivent être ajoutées à la base de données. non enregistré. Nous suivons tous les utilisateurs de la page. (le nombre de fois qu'ils ont visité le site et leur identifiant)

EDIT : Nous ne suivons pas les informations de connexion des utilisateurs. Ou inscrivez-les. Nous enregistrerons le nombre de fois qu’ils visitent le site Web dans notre base de données.

J'ai essayé de le configurer en utilisant GET, puis en exécutant la requête POST avec onSuccess, mais cela semblait exagéré.

export default function handler(req, res) {
  if (req.method === 'GET') {
    // check db if user is there (db.get())
    // if not run the PUT request. (db.save())
  } 
}

P粉434996845
P粉434996845

répondre à tous(1)
P粉244155277

Il existe peut-être une meilleure façon. Par exemple, si vous utilisez DynamoDB, vous pouvez utiliser Update Project. Cela vous permet de mettre à jour le projet s'il existe, ou de publier un nouveau projet s'il n'existe pas. De plus, en utilisant le paramètre ReturnValues, l'opération renverra toutes les propriétés souhaitées. Vous pouvez obtenir tout ce que vous voulez avec l’un de ces appels.

Mais sinon, ça me semble bien. Si vous souhaitez éviter les rappels imbriqués, vous pouvez utiliser la syntaxe asyncawait pour séparer les appels :

export default function handler(req, res) {
  if (req === "GET") {
    const result = await getRequest();
    if (result.isEmpty()) {
      postRequest();
    }
  }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal