所有功能,這是錯誤的使用POST在REST的一切嗎?我知道POST是用於更新和創建的,但是如果我將它用於SELECTS和DELETS呢?我基本需要的是一個可以對數據庫執行CRUD操作的Web服務。我使用PHP。另外,如果我使用查詢字符串來執行POST請求而不是使用JSON或XML,該怎麼辦?使用POST在REST協議
回答
如果您在使用POST的所有操作,你真的不能稱之爲REST了。
因此,這沒有錯,但它沒有其他的不是:)
這是錯誤的使用POST在REST的一切嗎?
不能使用POST在REST一切(例如,僅用於請求,沒有響應),所以關於對或錯的問題不是一個有效的問題。
我知道POST是用於更新和創建,但如果我將它用於SELECTS和DELETS呢?
它通常只是工作。
我基本需要的是一個Web服務,可以對數據庫執行CRUD操作。
這很好。
使用PHP的進出口。
也沒關係。 PHP已經支持HEAD,GET和POST方法。對於PUT和DELETE方法,你需要做更多的編碼。
另外,如果我使用查詢字符串來執行POST請求而不是使用JSON或XML,該怎麼辦?
您使用查詢字符串而不是JSON/XML請求主體。 REST沒有指定協議,所以你可以隨心所欲地做任何事情。使用「查詢字符串」可能是PHP的一個好主意,因爲PHP支持開箱即用。但這取決於您用於處理程序的內容或您想要支持的內容。
由於您的問題非常廣泛,因此您可能需要先閱讀REST的一些基本說明,以便更明確地詢問:A Brief Introduction to REST。
是的,這是錯誤的。如果您使用POST進行除更新之外的其他任何操作,則實際上並不遵循REST約定。
你可以吃用叉子但爲什麼湯嗎?無論如何,你可以使用任何方法,只是不要稱之爲REST協議。
是錯誤的使用POST對於那些意味着要重複呼叫。
POST調用不會被緩存而是讓你不應該使用POST他們的選擇調用應該是緩存能夠(和重複)。
但是沒有任何技術上的理由說明,爲什麼你不能通過POST強制所有的東西(特別是DELETE在所有的瀏覽器中都不支持),但是這確實意味着緩存對你的任何調用都不起作用,如果POST調用已經創建,用戶可能無法刷新網頁而不會被要求確認頁面重新加載。
在這個REST教程here系列中的第4條說:
對於創建,更新和刪除數據,使用POST請求。 (POST也可用於只讀查詢,如上所述,當需要複雜的參數註明。)
當然得到通常用於只讀查詢,因此把他們放在一起,如果複雜性是默認的假設,當在複雜性和簡單性之間沒有界限時,這是一種方便的假設,那麼這個足夠權限在REST上編寫整個系列的人會說,發佈一切都是可以的。緩存可能會對各種HTTP動詞的反應做出一些假設,這可能是有益的,但是如果您的應用程序沒有從緩存中受益(實際上,可能會因此受到傷害,所以禁用它或執行某些操作以免應用程序不受其影響),然後我不知道是否有任何問題。
- 1. 這是REST協議嗎?
- 2. Paypal REST API - 結算協議
- 3. Http協議POST閱讀
- 4. 在協議中使用UIView.animateWithDuration
- 5. 使用協議HTPPS
- 6. 使用Websocket協議
- 7. 在UDP協議上使用XMPP的柔性代碼協議
- 8. Swift協議專用通用協議
- 9. PayPal REST API更新帳單協議
- 10. REST(json)web服務發現協議
- 11. 非HTTP協議上的REST示例
- 12. REST和HTTP協議有什麼區別?
- 13. 通過REST發送協議緩衝區
- 14. REST Web服務和HTTP協議
- 15. HTTPS協議與REST API Webservices相關嗎?
- 16. 從本地協議強制使用Javascript協議中的http協議
- 17. 使用Paypal REST api獲取計費協議清單
- 18. 如何使用REST協議登錄到WebService
- 19. 如何使用paypal REST API列出計劃的協議
- 20. 使用Paypal的PHP REST SDK支付協議
- 21. 笨$ _ POST不工作有了REQUEST_URI協議
- 22. 如何使用UDP協議使SIP協議更可靠
- 23. 在UDP協議中的Tracerouting協議
- 24. 在ObjC協議上的協議擴展
- 25. 協議的哈希協議
- 26. WebDav協議VS HTTP協議
- 27. VUGen使用SAPGUI協議
- 28. 使用__attribute __((objc_requires_super))與協議
- 29. 使用Javascript輸出協議
- 30. nutch使用的協議
你爲什麼不*使用適當的HTTP動詞? – deceze
我只是問是否錯誤。 – Indy
Facebook使用GET進行所有功能。這也包括刪除/更新。 – OptimusCrime