傳說中的 REST (表現層狀態轉換) 出現了!一個不太好解釋的名詞,但面試我還真的碰到了…初心者剛開始碰 Rails 一定會面對的 REST ,我們來看看到底是什麼?
根據維基的說法,REST 是表現層狀態轉換(英語:Representational State Transfer,縮寫:REST)(簡稱為 REST 或 RESTful)是Roy Thomas Fielding博士於2000年在他的博士論文[1]中提出來的一種全球資訊網軟體架構風格,目的是便於不同軟體/程式在網路(例如網際網路)中互相傳遞資訊。
**要注意的是 REST 是設計風格而不是標準。**REST 通常基於HTTP、URI、XML以及HTML這些現有的廣泛流行的協定和標準。
符合REST設計風格的 Web API 稱為 RESTful API 。它從以下三個方面資源進行定義:
直觀簡短的資源位址:URI,比如:http://example.com/resources。
傳輸的資源:Web服務接受與返回的網際網路媒體類型,比如:JSON,XML,YAML等。
對資源的操作:Web服務在該資源上所支援的一系列請求方法(比如:POST,GET,PUT或DELETE)。
實際的寫法,resources :users
只要這樣寫,Rails 就會自動生出8條路徑和7個 Action 方法,不得不說 Rails 的厲害了吧!
GET是什麼?
簡單來說(只可讀取)
列出URI,以及該資源組中每個資源的詳細資訊(後者可選)。
POST是什麼?
簡單來說(可以修改)
在本組資源中建立/追加一個新的資源。該操作往往返回新資源的URL。
參考資料
1.https://zh.wikipedia.org/wiki/%E8%A1%A8%E7%8E%B0%E5%B1%82%E7%8A%B6%E6%80%81%E8%BD%AC%E6%8D%A2
2.https://railsbook.tw/chapters/11-routes.html#restful-routes