什麼是Rest API,它爲什麼被使用,我該如何去創建一個並進一步瞭解它?所有的函數應該是GET/POST/DELETE/PUT形式?Rest API究竟是什麼
回答
簡而言之,REST API定義了一組函數,開發人員可以通過HTTP協議執行請求和接收響應,例如GET和POST。 REST API應該指定它可以提供什麼以及如何使用它,查詢參數,響應格式,請求限制,公共使用/ API鍵,方法(GET/POST/PUT/DELETE),語言支持,回調使用等細節。 HTTPS支持和資源表示應該是自描述的...
REST是一種高度可擴展和可緩存的架構,非常適合設計API。基本想法behing REST -
URL和標頭應該唯一標識資源,以便它可以被緩存。
REST API應該是無狀態的,即api調用的結果應該不會因前面的api調用而有所不同。保持apis狀態限制緩存,因此不被視爲RESTful。
使用合適的http動詞,即GET用於讀取和冪等性請求,POST用於寫入請求,PUT用於寫入和冪等性請求,DELETE用於刪除資源。
返回符合REST標準的適當狀態代碼,以便在不同代理層上使用和通用可達性。
HATEOAS即超媒體作爲應用程序狀態的發動機其中指出大多數URLS的不應該被硬編碼的,而不是服務器端應在其響應中提供的URL引導客戶。這個想法與我們在瀏覽器上使用網站的方式非常相似。
更正:1)只有URI用於標識資源。資源可以是任何東西,例如我或'幸福'。當通過HTTP使用URI和請求標頭時,選擇「資源的表示」 - 一個數字字節流,比如我的肖像的JPEG圖像。 3&4)如果使用HTTP作爲您的應用程序協議,這些對於REST不是必需的,除了滿足通用接口約束之外。其他接口可以選擇與您描述的不同。例如,HTML只使用GET和POST,但接口是共享的,因此可以滿足REST。 –
我有點同意你的第一個觀點,那就是標題'應該'主要用於不同的表示。 – hspandher
我有點贊同你的第一個觀點,那就是標題'應該'主要用於不同的表示。但很多時候頭被用於版本控制。同樣,很多人傾向於使用url進行版本控制。 你仍然不能考慮這些api的「不穩定」。其次就正確的動詞而言,建議使用正確的動詞。除了大多數使用Restful網址的網頁(如Ruby on Rails)之外,由於它們不是無狀態(會話),因此不是真正的「RESTful」。最後,REST僅在HTTP協議的環境中有效。你不能使用REST和SOAP。 – hspandher
REST是當今開發中非常流行的體系結構,它是兩種截然不同的組件之間的通信方法,通常用於開發Web服務。此外,REST不會佔用過多的帶寬,使其更適合通過網絡使用。這使得REST更適合於SOAP,因爲與SOAP不同,您不必創建服務器和客戶端。在SOAP的情況下,您必須單獨創建服務器程序來提供數據和客戶端程序來請求數據。
詳細知識庫可以在http://srijan.net/blog/rest-api-and-its-utility-real-web-applications
- 1. 系統linux API究竟是什麼?
- 2. DEFAULT_COMPRESSION究竟是什麼?
- 3. cacert.pem究竟是什麼?
- 4. JSON-RPC究竟是什麼?
- 5. WPF究竟是什麼?
- 6. NoSQL究竟是什麼?
- 7. 「Sample」究竟是什麼?
- 8. ContextStaticAttribute究竟是什麼?
- 9. JSON究竟是什麼?
- 10. 究竟是什麼插座
- 11. targetSdkVersion究竟是什麼?
- 12. getGlobalVisibleRect()究竟是什麼?
- 13. 究竟是什麼#^:_ 1
- 14. WCF - 究竟是什麼?
- 15. 「句柄」究竟是什麼?
- 16. this.id究竟是什麼?
- 17. Erlang OTP究竟是什麼?
- 18. selenese html究竟是什麼?
- 19. 資源究竟是什麼?
- 20. 究竟是什麼@ ViewDebug.ExportedProperty?
- 21. ViewUserControl.ViewDataKey究竟是什麼?
- 22. 究竟是什麼任務
- 23. Windows AppFabric究竟是什麼?
- 24. 「OAuth Provider」究竟是什麼?
- 25. Django Apps究竟是什麼
- 26. 究竟是MySQL中的「尾隨空間」究竟是什麼?
- 27. 究竟是什麼耙db:migrate做什麼?
- 28. 究竟是什麼`Function.prototype.length`的意思是?
- 29. REST Web服務中的安全方法究竟是什麼?
- 30. KeyListener究竟做了什麼?
找到你讀過這個:http://stackoverflow.com/questions/4663927/what-is-rest-slightly-confused –
這也是不錯的http:// stackoverflow.com/questions/671118/what-exactly-is-restful-programming – tinkerbeast