我們開發了一個 crud API,支持 POST、PUT、DELETE 和 GET 方法。此后,我們發現 DELETE 在我們組織的 Web 服務器級別被阻止,因此任何通過瀏覽器對 API 的 DELETE 請求都被阻止。我們被告知將我們的 API 更新為 POST 以支持 DELETE。在洗掉請求中,我們的 API 然后使用支持的 DELETE 請求呼叫另一個 API。
所以流量是
瀏覽器 -> PUT/POST -> ourAPI -> DELETE -> anotherAPI
舊的 URI 是 DELETE/{entity}/{code}
我正在更新/{entity}/{code}/delete- 但不確定作為 PUT 或 POST 是否更有意義,我知道 POST 不是冪等的,但對第二個 API 的 DELETE 請求將是。
謝謝
uj5u.com熱心網友回復:
使用 POST 還是 PUT 可能取決于應如何處理嘗試洗掉不存在的物體。
如果請求應該像物體存在一樣靜默成功,則該操作是冪等的 - 因此 PUT 似乎合適。
如果請求應該觸發錯誤(404 或至少服務器端日志記錄),POST 似乎是合適的。
uj5u.com熱心網友回復:
只要用戶清楚,這并不重要。
這是從該站點洗掉 POST 的示例:https ://api.stackexchange.com/docs/delete-answer 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/489902.html
