第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Postgres 的 Express REST API 的 HTTP 方法

使用 Postgres 的 Express REST API 的 HTTP 方法

MMTTMM 2023-08-24 21:09:29
我正在使用 Express 和 Postgres 實現(xiàn) REST APIS。在端點中,我想首先通過 FK user_id 從表中刪除所有實例,然后插入具有相同 user_id 的多個新實例。我想知道在這種情況下我應該使用哪種 http 方法?目前我使用 POST 但我不知道這是否合適??磥硎褂?PUT 也可以正常工作。router.post('/myTable', auth, async (req, res) => {  const client = await pool.connect();  try {    await client.query('BEGIN');    const { records } = req.body;    await client.query('DELETE FROM my_table WHERE user_id=$1', [req.user_id]);    for (i in records) {      await client.query('INSERT INTO my_table (name, user_id) VALUES ($1, $2)',[records[i], req.user_id]);    }    await client.query('COMMIT');    res.send();      } catch (error) {    console.log(error);    await client.query('ROLLBACK');  } finally {    client.release();  }});
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

PUT用于創(chuàng)建/替換您指定的 URI 處的資源。

因此,如果一個資源存在,它有一個客戶端知道的 URI,并且通過請求PUT替換那里的內容,這PUT是最有意義的。

PUT相對于 POST的一大好處是PUT冪等性。

PUT因此,如果您向端點發(fā)送請求/myTable,則隱含的含義是您正在替換 ,并且同一端點上的myTable后續(xù)請求將為您提供與剛剛發(fā)送的內容在語義上相似的響應。GET

如果我的上述任何假設是錯誤的,您很可能會想要POST,這更像是一種通用的包羅萬象的方法,可以在較少的限制下進行更改。POST缺點是,我認為在不檢查/理解主體的情況下,給定請求的操作不太明顯,并且您也會失去冪等性的好處。


查看完整回答
反對 回復 2023-08-24
?
尚方寶劍之說

TA貢獻1788條經(jīng)驗 獲得超4個贊

目前我使用 POST 但我不知道這是否合適。

規(guī)則#1:如果您不確定,可以使用 POST。

POST 在 HTTP 中具有許多有用的用途,包括“此操作不值得標準化”的一般用途。


看來使用 PUT 也可以正常工作。

從某種意義上說,任何方法在源服務器上“都能正常工作”。HTTP 定義了請求語義——消息的含義。它不限制實施。

然而,通用客戶端會假設您的服務器理解 GET/HEAD/POST/PUT 等,就像其他 Web 服務器理解它們一樣。這是 REST 架構風格的強大功能的重要組成部分 - 任何符合標準的客戶端都可以與任何符合標準的服務器進行通信,并且它可以正常工作。此外,如果我們在它們之間插入任何符合標準的緩存/代理,它會繼續(xù)以完全相同的方式工作。

但是,如果您使用204 No Content響應PUT請求,那么通用組件將理解這與任何其他服務器返回的含義相同。也就是說,如果你偏離標準而導致財產(chǎn)損失,你的服務員要承擔責任。


查看完整回答
反對 回復 2023-08-24
?
料青山看我應如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

您可以在這里查看答案以供參考。它們得到了很好的解釋。?REST 中的 PUT 與 POST

但由于兩者可以達到相同的目的,并且僅取決于您的偏好或要求,因此我通常使用 post 來創(chuàng)建資源并更新資源作為一種實踐。


查看完整回答
反對 回復 2023-08-24
  • 3 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號