next.js 在GET请求中进行POST是好的做法吗?

eulz3vhy  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(101)

正如标题所述,我希望在发出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())
  } 
}

字符串

wrrgggsh

wrrgggsh1#

也许还有更好的办法。例如,如果您使用的是DynamoDB,则可以使用UpdateItem。这可让您更新存在的项目,或在不存在的情况下张贴新项目。此外,通过使用ReturnValues参数,该操作将返回所需的任何属性。你可以通过一个电话得到你想要的一切。
但如果没有,我觉得也没问题。如果要避免嵌套回调,可以使用asyncawait语法来分隔调用:

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

字符串

相关问题