因公司產品須要支持跨平臺,開發團隊便圍繞這一目的開展學習,本人先展開了對Asp.netCore RESTful WebApi接口的學習與認知。git
一、要學習RESTful WebApi首先得知道什麼是rest?github
REST的全稱:Representational State Transfer,表述性狀態轉移;api
REST是一種架構風格,不是標準。由RoyFielding博士大約在2000年左右提出。它是一種針對網絡應用的設計和開發方式,能夠下降開發的複雜性,提升系統的可伸縮性;緩存
REST須要使用一些規範、協議或標準來實現這種架構風格,並且REST與協議無關。JSON並非REST強制的,甚至Http都不是REST強制使用的,但這也僅僅是從理論上來看。服務器
二、認識RESTful API網絡
經過查詢總結有如下幾點:架構
①知足這REST約束條件和原則的應用程序或設計就是 RESTful;學習
②符合REST約束的API就叫RESTful API;.net
③大多部的WebAPI並非RESTfulAPI;設計
④在實際開發中不少WebAPI仍是無法符合RoyFielding博士提出的這套風格。
三、RESTful API有什麼特色?
特色:
①每個URI表明1種資源;
②客戶端使用GET、POST、PUT、DELETE4個表示操做方式的動詞對服務端資源進行操做:GET用來獲取資源,POST用來新建資源(也能夠用於更新資源),PUT用來更新資源,DELETE用來刪除資源;
③經過操做資源的表現形式來操做資源;
④資源的表現形式是XML或者HTML(或其它);
⑤客戶端與服務端之間的交互在請求之間是無狀態的,從客戶端到服務端的每一個請求都必須包含理解請求所必需的信息。
四、RESTful的六個約束:
1.客戶端-服務器;2.無狀態;3.可緩存;4.分層系統;5.統一接口;6.按需代碼(可選擇)。若是任何一個服務違背了其中一個原則(第6個可選),將不能被稱做 RESTful 系統。
一、概念:WebAPI一般是指「使用Http協議並經過網絡調用的API」,因爲它使用了Http協議,因此須要經過URI信息來指定端點,WebAPI就是一個Web系統,經過訪問URI能夠與其進行信息交互。
二、WebAPI對外合約的一些基本原則(在設計時儘可能知足)
①使用名詞,而不是動詞;如:錯誤用法:api/getUsers 正確:GET api/users。
總結:以上僅僅是我的在學習過程當中簡明扼要的總結,還有許多諸如路由模板配置、如何搭建一個簡單的WebAPI、如何全面瞭解一個請求體以及各類請求返回的錯誤碼錶明什麼含義等等。
此外簡單瞭解完WebAPI概念以後,感興趣的還能夠進一步瞭解OpenAPI(https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md),OpenAPI在各個領域的應用也很是普遍,使用頻率也頗高。