日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

.NET 云原生架构师训练营(模块二 基础巩固 REST RESTful)--学习笔记

發布時間:2023/12/4 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 云原生架构师训练营(模块二 基础巩固 REST RESTful)--学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.3.1 Web API -- REST && RESTful

  • 什么是 REST,什么是 RESTful

  • RESTful API 設計

  • RESTful 成熟度模型

什么是 REST,什么是 RESTful

理解RESTful架構:https://www.ruanyifeng.com/blog/2011/09/restful.html

REST(Representational State Transfer):表現層狀態轉化

RESTful:面向資源的架構

如果一個架構符合REST原則,就稱它為RESTful架構。

"表現層"其實指的是"資源"(Resources)的"表現層"。

所謂"資源",就是網絡上的一個實體,或者說是網絡上的一個具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務,總之就是一個具體的實在。

你可以用一個URI(統一資源定位符)指向它,每種資源對應一個特定的URI。

URI:資源的地址,至于資源的形式 URI 是不管的,但是會通過 http 請求的一些參數來做具體的返回

baseUri:?https://www.dotnetlives.com

資源ResourceURI
問題Questionhttps://www.dotnetlives.com/question
計劃Planhttps://www.dotnetlives.com/plan
項目Projecthttps://www.dotnetlives.com/project
獎勵Awardhttps://www.dotnetlives.com/award

"資源"是一種信息實體,它可以有多種外在表現形式。我們把"資源"具體呈現出來的形式,叫做它的"表現層"(Representation)。

表現形式:JSON/XML

比如,文本可以用txt格式表現,也可以用HTML格式、XML格式、JSON格式表現,甚至可以采用二進制格式;圖片可以用JPG格式表現,也可以用PNG格式表現。

互聯網通信協議HTTP協議,是一個無狀態協議。這意味著,所有的狀態都保存在服務器端。

因此,如果客戶端想要操作服務器,必須通過某種手段,讓服務器端發生"狀態轉化"(State Transfer)。而這種轉化是建立在表現層之上的,所以就是"表現層狀態轉化"。

狀態轉化

  • Get

  • Post

  • Put

  • Delete

ASP .NET Core Web Api 是一個 RESTful Web 應用框架

RESTful API 設計

RESTful API 設計指南:http://www.ruanyifeng.com/blog/2014/05/restful_api.html

基本概念

  • 版本 versioning

  • 路徑 endpoint

  • 動詞 verb

  • 過濾信息 filtering

  • status code

  • error handling

內容URI狀態碼結果HTTP動詞
獲取問題列表/api/v1/question200返回具體的資源結果GET
創建問題/api/v1/question201返回創建的資源POST
獲取單個問題/api/v1/question/1001200/404返回資源/不存在GET
修改問題/api/v1/question/1001201返回修改的數據PUT
修改問題/api/v1/question/1001201返回修改的數據PATCH
刪除問題/api/v1/question/1001204刪除成功DELETE

RESTful 成熟度模型

Level 0:

本層級的 Web 服務只是使用 HTTP 作為傳輸方式,實際上只是遠程方法調用(RPC)的一種具體形式。SOAP 和 XML-RPC 都屬于此類。

Level 1:

Level 1 層級的 API 引入了資源的概念。要執行對資源的操作,客戶端發出指定要執行的操作和任何參數的 POST 請求。

Level 2:

Level 2 層級的 API 使用 HTTP 語法來執行操作,譬如 GET 表示獲取、POST 表示創建、PUT 表示更新。如有必要,請求參數和主體指定操作的參數。這能夠讓服務影響 web 基礎設施服務,如緩存 GET 請求。

Level 3:

Level 3 層級的 API 基于 HATEOAS(Hypertext As The Engine Of Application State)原則設計,基本思想是在由 GET請求返回的資源信息中包含鏈接,這些鏈接能夠執行該資源允許的操作。例如,客戶端通過訂單資源中包含的鏈接取消某一訂單,GET 請求被發送去獲取該訂單。HATEOAS 的優點包括無需在客戶端代碼中寫入硬鏈接的 URL。此外,由于資源信息中包含可允許操作的鏈接,客戶端無需猜測在資源的當前狀態下執行何種操作。

課程鏈接

.NET云原生架構師訓練營講什么,怎么講,講多久

歡迎各位讀者加入微信群一起學習交流,

在公眾號后臺回復“加群”即可~~

總結

以上是生活随笔為你收集整理的.NET 云原生架构师训练营(模块二 基础巩固 REST RESTful)--学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。