rest api是基於http協議進行設計的,由http動詞+uri組成
![](https://pic.w3help.cc/2d6/b807dda300597e1e2a395c36506d2.jpeg)
文件是資源的單一表現形式;
集合是資源的乙個容器(目錄),可以向裡面新增 資源(文件);
客戶端管理的乙個資源庫,可以向倉庫中新增資源 或者刪除資源,或者從倉庫中獲取資源;
可以執行乙個方法,支援引數輸入,結果返 回。
文件(document)型別的資源用 名詞單數命名 集合(collection)型別的資源用 名詞複數命名
倉庫(store)型別的資源用 名詞複數命名
控制器(controller)型別的資源用 **動詞**命名
uri中有些字段可以是變數,在實際使用中可以按需替換,例如:--- 其中:leagueid,teamid,playerid 是變數(數字,字串等型別都可以)。
uri中分隔符「/」一般用來對資源層級的劃分, 」/「不應該出現在url的末尾; uri中盡量使用連字元"-"代替下劃線"_"的使用
例如:
uri中統一使用小寫字母
uri中不要包含檔案(或指令碼)的副檔名
例如:不要出來.php或者.json之類的字尾名。
crud的操作不要體現在uri中
作為查詢的引數補充,以標示乙個唯一的資源 作為過濾條件使用,例如:
get /users?role=admin
作為資源列表分頁標示使用,例如:
get /users?pagesize=25&pagestartindex=50
2xx:操作成功 3xx:重定向
4xx:客戶端錯誤
5xx:伺服器錯誤
200 (「ok」) :一般性的成功返回,不可用於請求錯誤返回; 201 (「created」) :資源被建立;
202 (「accepted」) :controller控制類資源非同步處理的返回,僅表示請求已經收到;
204 (「no content」) :可能會出現在put、post、delete的請求中;
位址的狀態;
400 (「bad request」) :客戶端一般性錯誤返回, 其它4xx的錯誤,也可以使用400,
具體錯誤資訊可以放在body中;
401 (「unauthorized」) :認證錯誤;
404 (「not found」) :找不到uri對應的資源;
500 internal server error:伺服器處理請求時發生了意外;
content-length :body 資料體的大小
last-modified :資源最後被修改的時間戳
etag :伺服器端資源版本的標示
location :在響應header中使用
cache-control, expires, date : 通過快取機制提公升介面響應效能
floodlight北向api對外提供了四個模組:openflow流表、防火牆、acl、多租戶網路虛擬化。 查詢所有acl規則:get http://:8080/wm/acl/rules/json 新增acl規則:post http://:8080/wm/acl/rules/json
刪除一條acl:delete http://:8080/wm/acl/rules/json
刪除所有acl:get http://:8080/wm/acl/clear/json
使用post動詞具體建立acl或是使用delete動詞刪除某條acl時,還需要在json中帶上需要傳輸的資料。例如以curl為例:REST API基礎介紹
1 介面中盡量使用名詞 2 使用post請求資源 3 delete請求刪除資源 eg.get notes id 獲取某個指定id的筆記資訊 1 rest resource representational state transfer 資源在網路傳輸中 以某種 表現形式 進行 狀態轉移 ps 網際網...
軟體定義網路基礎 OF Config協議
交換機與控制器繼續通訊前,是需要對其功能 特性以及資源進行配置才能進行工作,這些配置是如何實現的?是由專門的配置協議指導完成的 是openflow交換機管理配置協議,是openflow的伴侶協議 控制器和交換機根據openflow協議進行通訊前,使用of config協議對交換機進行配置 of co...
軟體定義網路基礎 OpenFlow流表
我們把同一時間經過同一網路中,具有某種共同特徵或屬性的資料,抽象為乙個流 流一般是由網路管理員定義的,可以根據不同的流執行不同的策略,在openflow中,資料都是作為流進行處理的。所以流表就是針對特定流的策略表項的集合,負責資料報的查詢和 一張流表包含了一系列的流表項flow entries 動作...