1. 程式人生 > >Spring mvc之Restful API

Spring mvc之Restful API

clas 處的 ati code ans 指定 reat get 不能

Spring mvc之Restful API

這是一個路徑,http://127.0.0.1:8080/OperationAPI/v0.1/pins/3是API的具體網址。在RESTful架構中,每個網址代表一種資源(resource),所以網址中不能有動詞,只能有名詞,而且所用的名詞往往與數據庫的表格名對應。一般來說,數據庫中的表都是同種記錄的"集合"(collection),所以API中的名詞也應該使用復數。http://127.0.0.1:8080表示的本地的域名,OperationAPI表示的是項目名稱,v0.1表示的api的版本號,pins表示這個api提供數據庫中pins表的具體信息。3表示pins表中對應的某個列的id,這裏是個pin_id。

1,API與用戶的通信協議,總是使用HTTPs協議。

2,應該盡量將API部署在專用域名之下,例如OperationAPI這個api就是部署在本地域名的下面。

3,應該將API的版本號放入URL,比如v0.1

4,對於資源的具體操作類型,由HTTP動詞表示。

常用的HTTP動詞有下面四個(括號裏是對應的SQL命令)。

          GET(SELECT):從服務器取出資源。

          POST(CREATE):在服務器新建一個資源。

          PUT(UPDATE):在服務器更新資源。

          DELETE(DELETE):從服務器刪除資源。

下面是一些例子 :

  • POST /pin:新建一個pin。
  • GET /pins/3:獲取指定的pin_id為3的信息。
  • PUT /pins/3:更新指定的pin_id為3的信息。
  • DELETE /pins/3:刪除指定的pin_id為3的信息。
    分布在各處的資源由URL確定,REST 是一種客戶端的應用通過URL來獲取資源的表示方式。獲得這些表示致使這些應用程序轉變了其狀態。隨著不斷獲取資源的表示方式,客戶端應用不斷地在轉變其狀態,這就是所謂表述性狀態轉移(Representational State Transfer)。通俗點說就是你一個網頁要獲取資源,比如獲取某個數據庫的數據,就得調用RestAPI來獲取,這個API的動作是GET,你的狀態就變成了GET這個狀態,你要刪除數據庫中某個資源,就通過調用DELETE這個RestAPI來實現刪除操作,此時你的狀態就變成了DELETE。

Spring mvc之Restful API