api 設計風格
restful只是一種風格,http只是一種協議,二者不應有交集。專案可以採用多種api設計風格,restful也不一定依賴http協議。
restful–representational state transfer表示層狀態轉移,細糾的話和「表示層」,「狀態」,「轉移」有關。
restful原本含義是怎樣呢?
restful是一種規則。為什麼要有設計模式?設計模式追求的是**的高效,真正高效的**是人看不懂的**。設計模式應該是一種平衡。
規則即介面,介面即功能。有什麼樣的介面就有什麼樣的功能。
restful不允許出現動詞。
restful遵循物件導向的原則。
//資源如下
list
dogs =
newarraylist
();dogs.
add(
newdog
('wangwang'))
;dogs.
add(
newdog
('dahuang'))
;dogs.
add(
newdog
('hashiqi'))
;
/user/xiaoming/dog/wangwang
如果小明將狗送給小紅,則介面變成
/user/xiaohong/dog/wangwang
wangwang是dog, 乙個資源,難道它屬於小明麼?
/user/xiaoming/blog/1 – 小明的部落格1
/user/xiaming/blog/2 – 小明的部落格2
這種確定性的資源可以用上面這種方式。
但如wangwang和xiaoming,這種地位相同的資源(不確定資源–即將來可能變化的資源),如何設計?
扁平化設計
/dog/wangwang?user=xiaoming
/dog/wangwang
name:wangwang
master:xiaoming
http動詞
專案中大量用到get,post,不推薦使用update和delete表示改和刪。
推薦 增,改使用post
增加post:/user/
requesthead:
username:zhangsan
password:sfdljsaljfaslkjlsadjf23232lasdjf
...
更新post:/user/?cmd=update
requesthead:
username:zhangsan2
password:sfdljsaljfaslkjlsadjf23232lasdjf
...
刪除和查詢用get
刪除get:/user/?cmd=delete
查詢get:/user/
restful介面總結
所有要給api操作的物件都只能是資源。不管實際上存在的,還是抽象上的。所有資源都會有乙個不變的標識 id 對資源的任何api操作都不應該改變資源的標識。資源和其他資源會有關係,資源與資源的關係通過資源的標識來引用。crud指建立 create 讀取 read 更新 update 刪除 delete ...
RESTful架構總結
restful架構 representational state transfer restful三要素 1.資源 resources rest的名稱 表現層狀態轉化 中,省略了主語。表現層 其實指的是 資源 resources 的 表現層 所謂 資源 就是網路上的乙個實體,或者說是網路上的乙個具體...
RESTFUL規範自我總結
1.安全保障 https傳輸 2.特徵表現 一看便知,用api關鍵字標識介面url 3.多版共存 不同版本介面可以同時存在 4.資料即資源 傳輸的資料可以看作真正的資源存在,介面以名詞的形式存在 5.請求方式決定操作方式 不同的請求方式,對於資料的操作方式不同 get請求 獲取資料 1 get請求 ...