一、背景:
因公司產品需要支持跨平臺,開發團隊便圍繞這一目的開展學習,本人先展開了對Asp.netCore RESTful WebApi介面的學習與認知,
二、簡單的概念:
1、要學習RESTful WebApi首先得知道什么是rest?
REST的全稱:Representational State Transfer,表述性狀態轉移;
REST是一種架構風格,不是標準,由RoyFielding博士大約在2000年左右提出,它是一種針對網路應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性;
REST需要使用一些規范、協議或標準來實作這種架構風格,而且REST與協議無關,JSON并不是REST強制的,甚至Http都不是REST強制使用的,但這也僅僅是從理論上來看,
2、認識RESTful API
通過查詢總結有以下幾點:
①滿足這REST約束條件和原則的應用程式或設計就是 RESTful;
②符合REST約束的API就叫RESTful API;
③大多部的WebAPI并不是RESTfulAPI;
④在實際開發中很多WebAPI還是沒法符合RoyFielding博士提出的這套風格,
3、RESTful API有什么特點?
特點:
①每一個URI代表1種資源;
②客戶端使用GET、POST、PUT、DELETE4個表示操作方式的動詞對服務端資源進行操作:GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來洗掉資源;
③通過操作資源的表現形式來操作資源;
④資源的表現形式是XML或者HTML(或其它);
⑤客戶端與服務端之間的互動在請求之間是無狀態的,從客戶端到服務端的每個請求都必須包含理解請求所必需的資訊,
4、RESTful的六個約束:
1.客戶端-服務器;2.無狀態;3.可快取;4.分層系統;5.統一介面;6.按需代碼(可選擇),如果任何一個服務違背了其中一個原則(第6個可選),將不能被稱作 RESTful 系統,
三、WebAPI的簡單認知
1、概念:WebAPI通常是指“使用Http協議并通過網路呼叫的API”,由于它使用了Http協議,所以需要通過URI資訊來指定端點,WebAPI就是一個Web系統,通過訪問URI可以與其進行資訊互動,
2、WebAPI對外合約的一些基本原則(在設計時盡量滿足)
①使用名詞,而不是動詞;如:錯誤用法:api/getUsers 正確:GET api/users,
②人類能讀懂;如:錯誤:api/us 正確:GET api/users //簡短友好 ③路由模板要體現資源的結構/關系,如:錯誤:api/{userid}/user 正確:GET api/users/{userid}總結:以上僅僅是個人在學習程序中簡明扼要的總結,還有許多諸如路由模板配置、如何搭建一個簡單的WebAPI、如何全面了解一個請求體以及各種請求回傳的錯誤碼代表什么含義等等,
此外簡單了解完WebAPI概念之后,感興趣的還可以進一步了解OpenAPI(https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md),OpenAPI在各個領域的應用也非常廣泛,使用頻率也頗高,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/40635.html
標籤:C#
