Heim  >  Fragen und Antworten  >  Hauptteil

Ist es sinnvoll, POST innerhalb einer GET-Anfrage durchzuführen?

Wie der Titel schon sagt, möchte ich gleichzeitig mit einer GET-Anfrage eine POST-Anfrage stellen. Ist das eine gute Praxis? Oder ein großes Nein-Nein?

Das liegt daran, dass meine App-Funktionalität wie folgt funktioniert: Wenn die Seite geladen wird, muss sie die Benutzerdaten abrufen. Wenn die Benutzerdaten nicht in der Datenbank vorhanden sind, sollten sie der Datenbank hinzugefügt werden. nicht registriert. Wir verfolgen alle Benutzer auf der Seite. (die Häufigkeit, mit der sie die Website besucht haben, und ihre ID)

BEARBEITEN: Wir verfolgen keine Benutzer-Anmeldeinformationen. Oder melden Sie sich an. Wir erfassen in unserer Datenbank, wie oft sie die Website besuchen.

Ich habe versucht, es mit GET einzurichten und dann mit onSuccess die POST-Anfrage auszuführen, aber das scheint übertrieben zu sein.

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粉434996845P粉434996845403 Tage vor524

Antworte allen(1)Ich werde antworten

  • P粉244155277

    P粉2441552772023-09-13 00:30:20

    也许有更好的方法。例如,如果您使用 DynamoDB,则可以使用 更新项目。这允许您更新项目(如果存在),或者发布新项目(如果不存在)。此外,通过使用 ReturnValues 参数,该操作将返回您想要的任何属性。您可以通过其中一个调用来获得您想要的一切。

    但如果没有,这对我来说看起来不错。如果您想避免嵌套回调,可以使用 asyncawait 语法分隔调用:

    export default function handler(req, res) {
      if (req === "GET") {
        const result = await getRequest();
        if (result.isEmpty()) {
          postRequest();
        }
      }
    }

    Antwort
    0
  • StornierenAntwort