【1.3 後端開發】之【Restful介面小議】
Restful介面是一種開發正規化和編碼風格,以資源的形式表示實體,配合WebMethod去操作資源。
RESTful (Representation State Transfer) 描述了一個架構樣式的網路系統,比如 web 應用程式。它首次出現在 2000 年 Roy Fielding 的博士論文中,他是 HTTP 規範的主要編寫者之一。RESTful 指的是一組架構約束條件和原則,滿足這些約束條件和原則的應用程式或設計就是 RESTful。
比如我們要表徵使用者,那麼按照Restful的規範,將採用如下的形式:
GET/users/{id}根據id獲得user
POST/users新建一個user
PUT/users修改user屬性(在請求體中設定userDto)
DELETE/users/{id} 根據id刪除user
Restful風格的介面表徵資源很清晰,但也有一定的不足。比如修改使用者使用者名稱或者繫結手機號,是有兩個動詞分別達成對資源的操作,restful強調uri沒有動詞,所以要想完全遵照restful風格會對開發造成一定的障礙。所以小Z在開發的過程中在儘量參照該風格的前提下,只使用get和post,但使用get的介面一定是不造成資源的狀態轉移(可以理解為只讀),而post涵蓋了新增、修改、刪除等動詞性操作(不再使用put、patch和delete),那麼在小Z所使用的介面url就將被抽象成:
GET/users/{id}根據id獲得user
POST/users/add新增使用者
POST/users/update 編輯使用者
POST/users/pageFind 分頁查詢使用者資訊
POST/users/delete/{id} 刪除使用者
。。。
POST/users/+適當動詞,表徵對使用者資源的操作。
在明確意識到介面不完全參照restful風格的情況下,借鑑資源的思想進行適當改造,那麼開發參照如此的CRUD介面風格可以提高開發效率,同時在定義清楚資源實體的情況下,介面的生成完全可以使用程式碼生成器來完成。
你是否對此有自己的看法和想法呢?歡迎留言。