首頁  >  問答  >  主體

在 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粉434996845403 天前523

全部回覆(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
  • 取消回覆