Restfull API
首先,我們學習一下什麼是rest
rest不是一門技術,也不是一種協議,rest 我理解的 主要就是對於我們訪問的網址(URI)的一種規範和約束,滿足這些約束條件和原則的設計就是Restful
在RESTful架構中,每個網址代表一種資源(resource),URL設置中不應該存在動詞;我們在網站進行一些操作,也就是對資源的行爲;
在rest規則中,有兩個基礎的概念:資源和行爲
資源:就是我們要操作的資源 比如說:我們要對peoject進行操作,那麼這個資源就是peojects
URL代表一種資源,而資源一般來說應該是多個,所以常用複數,例子:
http://localhost:8080/CostManagement/projects
行爲:一般就是我們常用的四種操作 查看、創建、編輯、刪除
對於資源的行爲,由HTTP動詞表示。
常用的HTTP動詞有下面四個
GET :查詢
POST :創建
PUT :更新
DELETE :刪除
優點:
1.用/來表示層級關係,比如:
/git/git/commit/e3af72cdafab5993d18fae056f87e1d675913d08就表示了一個多級的資源, 指的是git用戶的git項目的某次提交記錄
2.使用_或-來讓URI可讀性更好
在設計URL的過程中,難免爲了表述清楚而出現URL中出現特別長的單詞,所以,可以用_或-來讓URI可讀性更好,比如:
開源中國社區,它上面的新聞地址就採用這種風格, 如http://www.oschina.net/news/38119/oschina-translate-reward-plan
試想如果不用-那就是/oschinaTranslateRewardPlan 這樣的可讀性就可想而知了
在project這個模塊我設計的URL
大列表
[POST] http://localhost:8080/CostManagement/project/projects/dataSource
刪除:
[DELETE] http://localhost:8080/CostManagement/project/projects/{id}
查看
[GET]http://localhost:8080/CostManagement/project/projects/{id}/details
新增保存
[POST]http://localhost:8080/CostManagement/project/projects
編輯保存 [PUT] http://localhost:8080/CostManagement/project/projects/{id}