ASP.NET Core與RESTful API 開發實戰

ASP.NET Core與RESTful API 開發實戰

《ASP.NET Core與RESTful API 開發實戰》是2020年人民郵電出版社出版的圖書,作者是楊萬青。

基本介紹

  • 書名:ASP.NET Core與RESTful API 開發實戰
  • 作者:楊萬青
  • 出版社:人民郵電出版社
  • 出版時間:2020年2月1日
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115519511
內容簡介,圖書目錄,精彩書評,作者簡介,編輯推薦,

內容簡介

ASP.NET Core是微軟推出的新一代跨平台、高性能Web開發框架,具有模組化、內置依賴項注入、開源、易於部署等特點。作為近些年來主流的軟體架構風格,REST旨在構建簡享炒婆單、可靠、高性能、高伸縮性的Web套用。
本書系統地介紹了如何使用ASP.NET Core開發RESTful API套用,共包含10章內容。前3章主要介紹了REST、HTTP、ASP.NET Core的基礎理論。第4~10章根據前3章的理論,並使用C#語言,講解逐步構建一個完整且規範的RESTful API套用,涉及資源的基本操作、Entity Framework Core、高級查詢、日誌、快取、並發、HATEOAS、認證與安全、測試以及部署等內容。

圖書目錄

第 1章 REST簡介 1
1.1 API與REST 1
1.1.1 什麼是API 1
1.1.2 什麼是REST 2
1.1.3 REST約束 2
1.1.4 對REST的錯誤理解 4
1.2 HTTP協定 5
1.2.1 HTTP簡介 5
1.2.2 統一資源定位符 5
1.2.3 媒體類型 7
1.2.4 HTTP訊息 8
1.2.5 HTTP方法 9
1.2.6 HTTP訊息頭 10
1.才槳雄騙2.7 狀態碼 12
1.3 REST最佳實踐 13
1.4 其他問題 14
1.4.1 JSON和XML 14
1.4.2 API版本 16
1.5 本章小結 16
第 2章 .NET Core和ASP.NET Core 17
2.1 .NET Core簡介 17
2.2 .NET Standard簡介 18
2.3 ASP.NET Core簡介 22
2.3.1 ASP.NET Core主要特性 22
2.3.2 ASP.NET Core 2.1新增特性 23
2.3.3 ASP.NET Core 2.2新增特性 24
2.3.4 ASP.NET Core 3.0的變化 25
2.3.5 將ASP.NET Core 2.1套用升級
到ASP.NET Core 2.2 26
2.4 設定開發環境 26
2.4.1 安裝Visual Studio 26
2.4.2 安裝Visual Studio Code 28
2.囑己4.3 .NET Core CLI 29
2.5 創建第 一個 API 項目 30
2.5.1 使用Visual Studio 2017 30
2.5.2 使用Visual Studio Code 36
2.6 本章小結 39
第3章 ASP.NET Core核心特性 40
3.1 啟動與宿主 40
3.1.1 應用程式的啟動 40
3.1.2 Kestrel 43
3.1.3 Startup類 45
3.2 中間件 46
3.2.1 中間件簡介 46
3.2.2 添加中間件 47
3.2.3 自定義中間件 51
3.3 依賴注入 52
3.3.1 依賴注入簡介 52
3.3.2 ASP.NET Core中的依賴注入 55
3.4 MVC 57
3.4.1 理解MVC模式 57
3.4.2 路由 58
3.4.3 Controller與Action 64
3.4.4 模型祝灑項綁定 67
3.4.5 模型驗證 70
3.4.6 過濾器 72
3.5 配置 78
3.5.1 訪問JSON配置檔案 78
3.5.2 訪問其他配置源 79
3.5.3 自定義配置源 82
3.5.4 重新載入想戰阿獄配置 85
3.5.5 強類型對象 85
3.6 日誌 87
3.6.1 ILogger接口 87
3.說屑樂6.2 ILoggerFactory接口 89
3.6.3 ILoggerProvider接口 90
3.6.4 分組和過濾 91
3.7 錯誤處理 94
3.7.1 異常處理 94
3.7.2 錯誤碼處理 96
3.8 本章小結 96
第4章 資源操作 98
4.1 項目創建 98
4.1.1 項目簡介 98
4.1.2 創建項目 99
4.2 使用記憶體數據 100
4.2.1 創建記憶體數據源 100
4.2.2 倉儲模式 101
4.2.3 實現倉儲模式 102
4.3 創建Controller 104
4.4 獲取資源 106
4.4.1 獲取集合 106
4.4.2 獲取單個資源 106
4.4.3 獲取父/子形式的資汗格歡源 108
4.5 創建資源 110
4.5.1 創建資源簡介 110
4.5.2 創建子級資源 113
4.6 刪除資源 115
4.6.1 刪除單個資源 115
4.6.2 刪除父與子 116
4.7 更新資源 117
4.7.1 更新資源簡介 117
4.7.2 部分更新 120
4.8 內容協商 123
4.8.1 內容協商簡介 123
4.8.2 實現內容協商 125
4.9 本章小結 128
第5章 使用Entity Framework Core 129
5.1 Entity Framework Core 129
5.1.1 Entity Framework Core簡介 129
5.1.2 在項目中添加EF Core 130
5.2 使用EF Core 131
5.2.1 EF Core的使用 131
5.2.2 創建實體類 132
5.2.3 創建DbContext類 134
5.2.4 添加遷移與創建資料庫 135
5.2.5 添加測試數據 137
5.3 重構倉儲類 139
5.3.1 創建通用倉儲接口 139
5.3.2 創建其他倉儲接口 141
5.4 重構Controller和Action 143
5.4.1 使用AutoMapper 143
5.4.2 重構AuthorController 145
5.4.3 重構BookController 147
5.5 本章小結 151
第6章 高級查詢和日誌 152
6.1 分頁 152
6.1.1 實現分頁 152
6.1.2 添加分頁元數據 154
6.2 過濾和搜尋 158
6.2.1 過濾 158
6.2.2 搜尋 160
6.3 排序 161
6.3.1 實現排序 162
6.3.2 屬性映射 165
6.4 日誌和異常 168
6.4.1 記錄日誌 168
6.4.2 異常處理 170
6.5 本章小結 172
第7章 高級主題 173
7.1 快取 173
7.1.1 HTTP快取 173
7.1.2 回響快取中間件 177
7.1.3 記憶體快取 179
7.1.4 分散式快取 180
7.2 並發 186
7.2.1 為什麼需要並發控制 186
7.2.2 不同的並發處理策略 187
7.2.3 實現並發控制 188
7.3 版本 190
7.3.1 API版本 190
7.3.2 實現API版本 191
7.4 HATEOAS 198
7.4.1 HATEOAS簡介 198
7.4.2 實現HATEOAS 201
7.5 GraphQL 207
7.5.1 GraphQL簡介 207
7.5.2 與REST相比 208
7.5.3 添加GraphQL服務 209
7.6 本章小結 215
第8章 認證和安全 217
8.1 認證 217
8.1.1 HTTP認證 217
8.1.2 實現基於Token的認證 221
8.2 ASP.NET Core Identity 227
8.2.1 Identity介紹 227
8.2.2 使用Identity 230
8.2.3 授權 235
8.3 HTTPS 239
8.3.1 HTTPS簡介 239
8.3.2 HTTPS重定向中間件 241
8.3.3 HSTS中間件 242
8.4 數據保護 244
8.4.1 數據保護API 244
8.4.2 使用數據保護API 245
8.4.3 配置數據保護 249
8.4.4 用戶機密 251
8.5 CORS 254
8.5.1 CORS簡介 254
8.5.2 實現CORS 256
8.6 限流 259
8.7 本章小結 262
第9章 測試和文檔 263
9.1 測試 263
9.1.1 測試簡介 263
9.1.2 單元測試 264
9.1.3 集成測試 267
9.2 文檔 274
9.2.1 Swagger簡介 274
9.2.2 XML注釋 276
9.3 本章小結 279
第 10章 部署 280
10.1 部署到IIS 280
10.1.1 發布套用 280
10.1.2 IIS配置 282
10.1.3 HTTPS配置 284
10.2 部署到Docker 286
10.2.1 Docker簡介 286
10.2.2 Docker命令 288
10.2.3 Docker實踐 290
10.2.4 Docker Compose簡介 293
10.2.5 Docker Compose實踐 294
10.3 部署到Azure 298
10.3.1 Azure簡介 298
10.3.2 創建資源 298
10.3.3 部署到Azure實踐 300
10.3.4 持續部署 302
10.4 本章小結 305

精彩書評

ASP.NET Core使構建RESTful服務變得輕鬆而舒適,本書介紹如何使用ASP.NET Core構建RESTful服務,是一本很不錯的入門書。
——深圳市友浩達科技有限公司 CEO 張善友
本書直擊要點、言簡意賅,全面介紹了使用ASP.NET Core開發RESTful Web服務所需的各方面基礎知識,是運用.NET Core開發微服務的必備學習用書。
——紅帽開放創新實驗室 高級諮詢顧問 陳計節
本書由淺入深地介紹了如何使用ASP.NET Core來構建Web套用,十分適合.NET初學者學習與參考。
——微軟開發工具事業部 軟體工程師 韓 駿

作者簡介

楊萬青,.NET架構師,具有多年軟體開發經驗,專注於.NET/.NET Core平台的套用開發及技術架構研究,對新技術有濃厚的興趣。

編輯推薦

(1)理論+實踐,從零開始帶你學習.NET Core開發。
(2)詳細介紹REST、HTTP、ASP.NET Core的基礎理論。
(3)深入剖析ASP.NET Core提供的重要特性。
(4)全面解讀構建規範的RESTful API套用的方方面面。
3.1.2 Kestrel 43
3.1.3 Startup類 45
3.2 中間件 46
3.2.1 中間件簡介 46
3.2.2 添加中間件 47
3.2.3 自定義中間件 51
3.3 依賴注入 52
3.3.1 依賴注入簡介 52
3.3.2 ASP.NET Core中的依賴注入 55
3.4 MVC 57
3.4.1 理解MVC模式 57
3.4.2 路由 58
3.4.3 Controller與Action 64
3.4.4 模型綁定 67
3.4.5 模型驗證 70
3.4.6 過濾器 72
3.5 配置 78
3.5.1 訪問JSON配置檔案 78
3.5.2 訪問其他配置源 79
3.5.3 自定義配置源 82
3.5.4 重新載入配置 85
3.5.5 強類型對象 85
3.6 日誌 87
3.6.1 ILogger接口 87
3.6.2 ILoggerFactory接口 89
3.6.3 ILoggerProvider接口 90
3.6.4 分組和過濾 91
3.7 錯誤處理 94
3.7.1 異常處理 94
3.7.2 錯誤碼處理 96
3.8 本章小結 96
第4章 資源操作 98
4.1 項目創建 98
4.1.1 項目簡介 98
4.1.2 創建項目 99
4.2 使用記憶體數據 100
4.2.1 創建記憶體數據源 100
4.2.2 倉儲模式 101
4.2.3 實現倉儲模式 102
4.3 創建Controller 104
4.4 獲取資源 106
4.4.1 獲取集合 106
4.4.2 獲取單個資源 106
4.4.3 獲取父/子形式的資源 108
4.5 創建資源 110
4.5.1 創建資源簡介 110
4.5.2 創建子級資源 113
4.6 刪除資源 115
4.6.1 刪除單個資源 115
4.6.2 刪除父與子 116
4.7 更新資源 117
4.7.1 更新資源簡介 117
4.7.2 部分更新 120
4.8 內容協商 123
4.8.1 內容協商簡介 123
4.8.2 實現內容協商 125
4.9 本章小結 128
第5章 使用Entity Framework Core 129
5.1 Entity Framework Core 129
5.1.1 Entity Framework Core簡介 129
5.1.2 在項目中添加EF Core 130
5.2 使用EF Core 131
5.2.1 EF Core的使用 131
5.2.2 創建實體類 132
5.2.3 創建DbContext類 134
5.2.4 添加遷移與創建資料庫 135
5.2.5 添加測試數據 137
5.3 重構倉儲類 139
5.3.1 創建通用倉儲接口 139
5.3.2 創建其他倉儲接口 141
5.4 重構Controller和Action 143
5.4.1 使用AutoMapper 143
5.4.2 重構AuthorController 145
5.4.3 重構BookController 147
5.5 本章小結 151
第6章 高級查詢和日誌 152
6.1 分頁 152
6.1.1 實現分頁 152
6.1.2 添加分頁元數據 154
6.2 過濾和搜尋 158
6.2.1 過濾 158
6.2.2 搜尋 160
6.3 排序 161
6.3.1 實現排序 162
6.3.2 屬性映射 165
6.4 日誌和異常 168
6.4.1 記錄日誌 168
6.4.2 異常處理 170
6.5 本章小結 172
第7章 高級主題 173
7.1 快取 173
7.1.1 HTTP快取 173
7.1.2 回響快取中間件 177
7.1.3 記憶體快取 179
7.1.4 分散式快取 180
7.2 並發 186
7.2.1 為什麼需要並發控制 186
7.2.2 不同的並發處理策略 187
7.2.3 實現並發控制 188
7.3 版本 190
7.3.1 API版本 190
7.3.2 實現API版本 191
7.4 HATEOAS 198
7.4.1 HATEOAS簡介 198
7.4.2 實現HATEOAS 201
7.5 GraphQL 207
7.5.1 GraphQL簡介 207
7.5.2 與REST相比 208
7.5.3 添加GraphQL服務 209
7.6 本章小結 215
第8章 認證和安全 217
8.1 認證 217
8.1.1 HTTP認證 217
8.1.2 實現基於Token的認證 221
8.2 ASP.NET Core Identity 227
8.2.1 Identity介紹 227
8.2.2 使用Identity 230
8.2.3 授權 235
8.3 HTTPS 239
8.3.1 HTTPS簡介 239
8.3.2 HTTPS重定向中間件 241
8.3.3 HSTS中間件 242
8.4 數據保護 244
8.4.1 數據保護API 244
8.4.2 使用數據保護API 245
8.4.3 配置數據保護 249
8.4.4 用戶機密 251
8.5 CORS 254
8.5.1 CORS簡介 254
8.5.2 實現CORS 256
8.6 限流 259
8.7 本章小結 262
第9章 測試和文檔 263
9.1 測試 263
9.1.1 測試簡介 263
9.1.2 單元測試 264
9.1.3 集成測試 267
9.2 文檔 274
9.2.1 Swagger簡介 274
9.2.2 XML注釋 276
9.3 本章小結 279
第 10章 部署 280
10.1 部署到IIS 280
10.1.1 發布套用 280
10.1.2 IIS配置 282
10.1.3 HTTPS配置 284
10.2 部署到Docker 286
10.2.1 Docker簡介 286
10.2.2 Docker命令 288
10.2.3 Docker實踐 290
10.2.4 Docker Compose簡介 293
10.2.5 Docker Compose實踐 294
10.3 部署到Azure 298
10.3.1 Azure簡介 298
10.3.2 創建資源 298
10.3.3 部署到Azure實踐 300
10.3.4 持續部署 302
10.4 本章小結 305

精彩書評

ASP.NET Core使構建RESTful服務變得輕鬆而舒適,本書介紹如何使用ASP.NET Core構建RESTful服務,是一本很不錯的入門書。
——深圳市友浩達科技有限公司 CEO 張善友
本書直擊要點、言簡意賅,全面介紹了使用ASP.NET Core開發RESTful Web服務所需的各方面基礎知識,是運用.NET Core開發微服務的必備學習用書。
——紅帽開放創新實驗室 高級諮詢顧問 陳計節
本書由淺入深地介紹了如何使用ASP.NET Core來構建Web套用,十分適合.NET初學者學習與參考。
——微軟開發工具事業部 軟體工程師 韓 駿

作者簡介

楊萬青,.NET架構師,具有多年軟體開發經驗,專注於.NET/.NET Core平台的套用開發及技術架構研究,對新技術有濃厚的興趣。

編輯推薦

(1)理論+實踐,從零開始帶你學習.NET Core開發。
(2)詳細介紹REST、HTTP、ASP.NET Core的基礎理論。
(3)深入剖析ASP.NET Core提供的重要特性。
(4)全面解讀構建規範的RESTful API套用的方方面面。

相關詞條

熱門詞條

聯絡我們