ASP.NET Core 與 RESTful API 開發實戰
楊萬青
買這商品的人也買了...
-
$699$552 -
$790$616 -
$265Web API 的設計與開發 (Web API : the Good Parts)
-
$288$274 -
$505你必須掌握的 Entity Framework 6.x 與 Core 2.0
-
$480$379 -
$383SQL Server 從入門到項目實踐 (超值版)
-
$550$429 -
$880$695 -
$454ASP.NET Core 應用開發入門教程
-
$403ASP.NET Core 應用開發項目實戰
-
$301ASP.NET Core 微服務實戰 在雲環境中開發、測試和部署跨平臺服務 (Building Microservices with ASP.NET Core: Develop, Test, and Deploy Cross-Platform Services in the Cloud)
-
$597ASP.NET Core 3 框架揭秘 (上下冊)
-
$454超大流量分佈式系統架構解決方案:人人都是架構師2.0
-
$1,200$1,020 -
$1,000$780 -
$800$528 -
$541ASP.NET Core 項目開發實戰入門
-
$500$390 -
$500$390 -
$550$363 -
$600$468 -
$980$774 -
$600$468 -
$790$624
相關主題
商品描述
ASP.NET Core是微軟推出的新一代跨平臺、高性能Web開發框架,具有模塊化、內置依賴項註入、開源、易於部署等特點。作為近些年來主流的軟件架構風格,REST旨在構建簡單、可靠、高性能、高伸縮性的Web應用。
本書系統地介紹瞭如何使用ASP.NET Core開發RESTful API應用,共包含10章內容。前3章主要介紹了REST、HTTP、ASP.NET Core的基礎理論。第4~10章講述如何根據前3章的理論逐步構建規範的RESTful API應用,涉及資源的基本操作、Entity Framework Core、高級查詢、日誌、緩存、並發、HATEOAS、認證與安全、測試以及部署等內容。
作者簡介
楊萬青,.NET架構師,具有多年軟件開發經驗,專注於.NET/.NET Core平台的應用開發及技術架構研究,對新技術有濃厚的興趣。
目錄大綱
第1章REST簡介\t1
1.1 API與REST\t1
1.1.1什麼是API\t1
1.1.2什麼是REST\t2
1.1.3 REST約束\t2
1.1.4對REST的錯誤理解\t4
1.2 HTTP協議\ t5
1.2.1 HTTP簡介\t5
1.2.2統一資源定位符\t5
1.2.3媒體類型\t7
1.2.4 HTTP消息\t8
1.2.5 HTTP方法\t9
1.2.6 HTTP消息頭\t10
1.2.7狀態碼\t12
1.3 REST最佳實踐\t13
1.4其他問題\t14
1.4.1 JSON和XML\t1
1.4.2 API版本\t16
1.5本章小結\t16
第2章.NET Core和ASP.NET Core\t17
2.1 .NET Core簡介\t17
2.2 .NET Standard簡介\t18
2.3 ASP.NET Core簡介\t22
2.3.1 ASP.NET Core主要特性\t22
2.3.2 ASP.NET Core 2.1新增特性\t23
2.3.3 ASP.NET Core 2.2新增特性\t24
2.3.4 ASP.NET Core 3.0的變化\t25
2.3.5將ASP.NET Core 2.1應用升級到ASP.NET Core 2.2\t26
2.4設置開發環境\t26
2.4.1安裝Visual Studio\ t26
2.4.2安裝Visual Studio Code\t28
2.4.3 .NET Core CLI\t29
2.5創建第一個API項目\t30
2.5.1使用Visual Studio 2017\t30
2.5.2使用Visual Studio Code\t36
2.6本章小結\t39
第3章ASP.NET Core核心特性\t40
3.1啟動與宿主\t40
3.1.1應用程序的啟動\t40
3.1.2 Kestrel\t43
3.1.3 Startup類\t45
3.2中間件\t46
3.2.1中間件簡介\t46
3.2.2添加中間件\t47
3.2.3自定義中間件\t51
3.3依賴注入\t52
3.3.1依賴注入簡介\t52
3.3.2 ASP.NET Core中的依賴注入\t55
3.4 MVC\t57
3.4 .1理解MVC模式\t57
3.4.2路由\t58
3.4.3 Controller與Action\t64
3.4.4模型綁定\t67
3.4.5模型驗證\t70
3.4.6過濾器\t72
3.5配置\t78
3.5.1訪問JSON配置文件\t78
3.5.2訪問其他配置源\t79
3.5.3自定義配置源\t82
3.5.4重新加載配置\t85
3.5.5強類型對象\t85
3.6日誌\ t87
3.6.1 ILogger接口\t87
3.6.2 ILoggerFactory接口\t89
3.6.3 ILoggerProvider接口\t90
3.6.4分組和過濾\t91
3.7錯誤處理\t94
3.7.1異常處理\t94
3.7.2錯誤碼處理\t96
3.8本章小結\t96
第4章資源操作\t98
4.1項目創建\t98
4.1.1項目簡介\t98
4.1.2創建項目\t99
4.2使用內存數據\t100
4.2.1創建內存數據源\t100
4.2.2倉儲模式\t101
4.2.3實現倉儲模式\t102
4.3創建Controller\t104
4.4獲取資源\t106
4.4.1獲取集合\t106
4.4.2獲取單個資源\t106
4.4.3獲取父/子形式的資源\t108
4.5創建資源\t110
4.5.1創建資源簡介\t110
4.5.2創建子級資源\t113
4.6刪除資源\t115
4.6.1刪除單個資源\t115
4.6.2刪除父與子\t116
4.7更新資源\t117
4.7.1更新資源簡介\t117
4.7.2部分更新\t120
4.8內容協商\t123
4.8.1內容協商簡介\t123
4.8.2實現內容協商\t125
4.9本章小結\t128
第5章使用Entity Framework Core\t129
5.1 Entity Framework Core\t129
5.1.1 Entity Framework Core簡介\t129
5.1.2在項目中添加EF Core\t130
5.2使用EF Core\t131
5.2.1 EF Core的使用\t131
5.2.2創建實體類\t132
5.2.3創建DbContext類\t134
5.2.4添加遷移與創建數據庫\t135
5.2.5添加測試數據\t137
5.3重構倉儲類\t139
5.3.1創建通用倉儲接口\t139
5.3.2創建其他倉儲接口\t141
5.4重構Controller和Action\t143
5.4.1使用AutoMapper\t143
5.4.2重構AuthorController\t145
5.4. 3重構BookController\t147
5.5本章小結\t151
第6章高級查詢和日誌\t152
6.1分頁\t152
6.1.1實現分頁\t152
6.1.2添加分頁元數據\t154
6.2過濾和搜索\t158
6.2.1過濾\t158
6.2.2搜索\t160
6.3排序\t161
6.3.1實現排序\t162
6.3.2屬性映射\t165
6.4日誌和異常\t168
6.4.1記錄日誌\t168
6.4.2異常處理\t170
6.5本章小結\ t172
第7章高級主題\t173
7.1緩存\t173
7.1.1 HTTP緩存\t173
7.1.2響應緩存中間件\t177
7.1.3內存緩存\t179
7.1.4分佈式緩存\t180
7.2並發\t186
7.2.1為什麼需要並發控制\t186
7.2.2不同的並發處理策略\t187
7.2.3實現並發控制\t188
7.3版本\t190
7.3.1 API版本\t190
7.3.2實現API版本\t191
7.4 HATEOAS\t198
7.4.1 HATEOAS簡介\t198
7.4.2實現HATEOAS\t201
7.5 GraphQL\t207
7.5.1 GraphQL簡介\t207
7.5.2與REST相比\t208
7.5.3添加GraphQL服務\t209
7.6本章小結\t215
第8章認證和安全\t217
8.1認證\t217
8.1.1 HTTP認證\t217
8.1.2實現基於Token的認證\t221
8.2 ASP.NET Core Identity\t227
8.2.1 Identity介紹\t227
8.2.2使用Identity\t230
8.2.3授權\t235
8.3 HTTPS\t239
8.3.1 HTTPS簡介\t239
8.3.2 HTTPS重定向中間件\t241
8.3.3 HSTS中間件\t242
8.4數據保護\t244
8.4.1數據保護API\t244
8.4.2使用數據保護API\ t245
8.4.3配置數據保護\t249
8.4.4用戶機密\t251
8.5 CORS\t254
8.5.1 CORS簡介\t254
8.5.2實現CORS\t256
8.6限流\t259
8.7本章小結\t262
第9章測試和文檔\t263
9.1測試\t263
9.1.1測試簡介\t263
9.1.2單元測試\t264
9.1.3集成測試\t267
9.2文檔\t274
9.2.1 Swagger簡介\t274
9.2.2 XML註釋\t276
9.3本章小結\t279
第10章部署\t280
10.1部署到IIS\t280
10.1.1發布應用\t280
10.1.2 IIS配置\t282
10.1.3 HTTPS配置\t284
10.2部署到Docker\t286
10.2.1 Docker簡介\t286
10.2.2 Docker命令\t288
10.2.3 Docker實踐\t290
10.2.4 Docker Compose簡介\t293
10.2.5 Docker Compose實踐\t294
10.3部署到Azure\t298
10.3.1 Azure簡介\t298
10.3.2創建資源\t298
10.3.3部署到Azure實踐\t300
10.3.4持續部署\t302
10.4本章小結\t305