我在想我是否應該使用POST或PUT來調用我的API。我應該使用POST還是PUT來創建或更新API調用
後端將創建或更新我的數據庫中的現有行。我知道我使用POST創建和PUT更新,但是當我不知道哪一個會被創建/更新時,我應該使用什麼?
我在想我是否應該使用POST或PUT來調用我的API。我應該使用POST還是PUT來創建或更新API調用
後端將創建或更新我的數據庫中的現有行。我知道我使用POST創建和PUT更新,但是當我不知道哪一個會被創建/更新時,我應該使用什麼?
我不認爲創建/更新區別是決定PUT和POST之間的最佳方式。這由rest cook book備份:
HTTP方法POST和PUT不是CRUD創建和更新的HTTP等效項。
我建議您閱讀那篇文章,但由於有些評論曾表示他們不明白,我會嘗試以另一種方式解釋。
這聽起來像您的請求是冪等的,並且您知道資源將在前面生活的確切URL,所以我認爲您應該使用PUT。
正如其餘的烹飪書籍文章中所表達的,在資源創建和更新中使用PUT是完全正確的。
如果您可以使用PUT,那麼您應該這樣做,因爲它可以爲客戶端提供有關該服務的更多信息。例如,對於PUT請求,容錯,彈性和分配要容易得多,因爲您不關心相同的請求是否多次發生。構建POST請求的容錯應用程序可能會有點棘手,因爲您必須確保請求只發生一次。執行重試邏輯也比PUT更容易,因爲你不關心請求失敗的地方,你可以重新嘗試,因爲冪等性。
對POST執行重試有點困難,因爲客戶端不確定請求是否成功,並且必須假定發出多個POST請求可能會造成損壞。
使用PUT api調用。 POST主要用於創建數據。
如果您不知道要使用什麼,請使用POST。如果您不太確定,請參考:http://restcookbook.com/HTTP%20Methods/put-vs-post/
但是,數據也可以創建,或者是「確定」使用PUT來創建和更新嗎? – user2636197
如果是這種情況,那麼你可以使用POST。 –