例如,如果我有一個 API 呼叫http://localhost:3006/[email protected]&password=xxxxxx&count=4&location=US和另一個 API 呼叫http://localhost:3006/[email protected]&password=xxxxxx&count=2&usernames=abc,xyz。那么,我可以通過執行類似的操作將這兩個呼叫合并為一個呼叫嗎http://localhost:3006/[email protected]&password=xxxxxx&count=4&location=US/cancel-request?count=2&usernames=abc,xyz?如果是,那么我如何使用 express 在 Node.js 中處理這個問題。
uj5u.com熱心網友回復:
我建議將這些操作設為 POST 而不是 GET。然后,您可以擁有一個用于多操作的 URL,并且您可以在包含一組操作及其引數的主體中擁有一個 JSON 有效負載:
http://localhost:3006/multi-operation
使用決議為的 JSON 有效負載:
[
{
operation: "send-message",
email: "[email protected]",
password: "xxxxx",
count: 4,
location: "US"
},
{
operation: "cancel-request",
email: "[email protected]",
password: "xxxxx",
count: 2,
usernames: ["abc","xyz"]
}
]
這也只會在請求正文中發送敏感資訊,例如密碼,這通常被認為比將它們放在 URL 中(它們可能會被各種基礎設施記錄)更安全。
注意:在 REST API 設計中,GET 請求不應具有“副作用”。它應該檢索一些資源。呼叫它 0 次、1 次或 10 次應該對服務器/世界產生相同的影響。因此,獨立于在一個 API 呼叫中指定多個操作的愿望,這些操作都不應該是 GET 操作,因為它們都有副作用(它們會導致發生一些變化)。因此,這些應該是 POST 操作。有很多關于何時在 REST API 中使用 GET、POST、PUT、PATCH 等的好文章。如果您對此感到困惑,可以從這些文章開始或通過搜索找到許多其他文章:
https://restfulapi.net/http-methods/
https://www.restapitutorial.com/lessons/httpmethods.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/343496.html
上一篇:使用useContext重新加載頁面會丟失API資料
下一篇:在API內的嵌套物件中實作價值
