首页  >  问答  >  正文

在 GET 请求中进行 POST 好习惯吗?

正如标题所说,我想在发出GET请求的同时发出POST请求。这是好的做法吗?还是一个巨大的禁忌?

这是因为我的应用程序功能的工作原理如下:在页面加载时,它需要获取用户数据。如果用户数据不在数据库中,则应将其添加到数据库中。没有注册。我们正在跟踪页面上的所有用户。 (他们浏览该网站的次数和 ID)

编辑:我们不跟踪用户登录信息。或者给他们报名。我们会在我们的数据库中记录他们浏览该网站的次数。

我尝试使用 GET 设置它,然后 onSuccess 运行 POST 请求,但这似乎有点过头了。

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粉434996845424 天前543

全部回复(1)我来回复

  • 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();
        }
      }
    }

    回复
    0
  • 取消回复