在 GET 请求中进行 POST 好习惯吗?
P粉434996845
P粉434996845 2023-09-12 09:11:31
0
1
546

正如标题所说,我想在发出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粉434996845
P粉434996845

全部回复(1)
P粉244155277

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

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

export default function handler(req, res) {
  if (req === "GET") {
    const result = await getRequest();
    if (result.isEmpty()) {
      postRequest();
    }
  }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板