看了一下網路上對 restful api的解釋,我感覺這個和我們平時寫的介面沒什麼不同啊,都是透過HTTP的get或是post請求傳輸數據,回傳json格式或xml格式。
就算 restful api多了這些請求方式:
PUT:在伺服器更新資源(客戶端提供完整資源資料)
DELETE:從伺服器刪除資源
HEAD : 從伺服器取得標頭資訊(不是資源)
但是他們最多只是一種傳輸資料的方式而已,比如說DELETE是刪除資源,我們要刪除一篇文章,是不是要傳一個文章ID到伺服器,但是具體的邏輯程式碼還不是和普通的介面一樣的寫法,我直接用get傳文章ID不就行了嗎,為什麼要用DELETE傳輸方式呢?
感覺我還是對restful api理解的還不夠,現在還體會不到他與普通的介面有什麼不一樣
ringa_lee2017-05-16 13:13:54
RESTful API 只是API的設計規格或是一套設計理論。
單就URL和Method這兩個點,你可以這樣理解: URL 是用來唯一標示一個互聯網資源的,而 Method 是用來標識當前請求對該資源進行什麼操作。
你當然可以 GET http://www.xx.com/user?id=123 來刪除一個用戶,但這是不符合 RESTful API 規範的。
符合RESTful API規格應該是 DELETE http://www.xx.com/user/123。
這裡 http://www.xx.com/user/123 用來識別一個網路資源(某個網站的一個使用者),DELETE 用來識別我這次要求是要刪除一個使用者。
例如我要獲取這個用戶的詳細信息,那麼我的請求時:GET http://www.xx.com/user/123,這裡還是相同的URL,但是我用GET方式請求,服務端就應該知道我只是要獲取資源信息,而不是刪除。
世界只因有你2017-05-16 13:13:54
個人對Restful api的理解是,更能清晰的去告訴別人這個操作是做什麼。當然可以使用get方式取刪除數據,但沒有delete來的清晰。
每個框架對Restful api都有自己的定義方式(例如laravel和Yii2對Restful api的方法的命名就是不同的),但是兩種不同的定義方式,都有共同點,就是對應增刪改查方法名稱都是定好的。這種情況,開發人員去做開發的時候,就能比較清楚的去了解這個方法到底是用來做什麼的。至少命名上看起來清晰很多。
個人愚見.....