ASP.NETCore与RESTfulAPI开发实战(异步图书出品)
出版时间:
2020-02
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、认证与安全、测试以及部署等内容。
杨万青,.NET架构师,具有多年软件开发经验,专注于.NET/.NET Core平台的应用开发及技术架构研究,对新技术有浓厚的兴趣。 第 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是微软推出的新一代跨平台、高性能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、认证与安全、测试以及部署等内容。
-
作者简介:
杨万青,.NET架构师,具有多年软件开发经验,专注于.NET/.NET Core平台的应用开发及技术架构研究,对新技术有浓厚的兴趣。
-
目录:
第 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
查看详情
-
全新
北京市朝阳区
平均发货12小时
成功完成率96.09%
-
全新
北京市东城区
平均发货23小时
成功完成率88.37%
-
九品
北京市东城区
平均发货25小时
成功完成率88.15%
-
九品
北京市海淀区
平均发货24小时
成功完成率88.47%
-
九品
北京市东城区
平均发货25小时
成功完成率88.15%
-
全新
河北省保定市
平均发货31小时
成功完成率82.71%
-
全新
北京市海淀区
平均发货9小时
成功完成率93.5%
-
全新
北京市朝阳区
平均发货13小时
成功完成率96.21%
-
全新
河北省保定市
平均发货29小时
成功完成率90.42%
-
九五品
江苏省无锡市
平均发货18小时
成功完成率82.61%
-
全新
北京市丰台区
平均发货28小时
成功完成率86.99%
-
全新
北京市朝阳区
平均发货12小时
成功完成率96.09%
-
全新
河北省保定市
平均发货24小时
成功完成率93.55%
-
全新
山东省泰安市
平均发货13小时
成功完成率94.4%
-
八五品
四川省成都市
平均发货9小时
成功完成率92.73%
-
八五品
重庆市沙坪坝区
平均发货9小时
成功完成率90.96%
-
全新
四川省成都市
平均发货15小时
成功完成率92.03%
-
全新
河北省保定市
平均发货27小时
成功完成率87.77%
-
全新
江苏省无锡市
平均发货9小时
成功完成率95.04%
-
全新
河北省保定市
平均发货14小时
成功完成率91.75%
-
全新
江苏省南京市
平均发货6小时
成功完成率98.44%
-
全新
江苏省南京市
平均发货12小时
成功完成率84.33%
-
全新
天津市西青区
平均发货14小时
成功完成率90.82%
-
全新
北京市顺义区
平均发货9小时
成功完成率92.42%
-
全新
北京市通州区
平均发货9小时
成功完成率88.84%
-
全新
北京市通州区
平均发货9小时
成功完成率95.09%
-
全新
北京市朝阳区
平均发货9小时
成功完成率97.71%
-
全新
北京市西城区
平均发货12小时
成功完成率93.85%
-
全新
江苏省无锡市
平均发货8小时
成功完成率96.19%
-
九品
北京市昌平区
平均发货21小时
成功完成率89.16%
-
全新
河北省保定市
平均发货10小时
成功完成率88.43%
-
全新
北京市房山区
平均发货34小时
成功完成率84.03%
-
全新
山东省泰安市
平均发货21小时
成功完成率89.67%
-
全新
上海市浦东新区
平均发货18小时
成功完成率82.81%
-
全新
天津市津南区
平均发货13小时
成功完成率85.87%
-
全新
北京市西城区
平均发货17小时
成功完成率91.15%
-
全新
浙江省嘉兴市
平均发货12小时
成功完成率94.74%
-
全新
江苏省南京市
平均发货12小时
成功完成率84.33%
-
全新
河北省保定市
平均发货23小时
成功完成率89.41%
-
全新
浙江省嘉兴市
平均发货9小时
成功完成率95.11%
-
全新
河北省廊坊市
平均发货19小时
成功完成率89.27%
-
八五品
北京市海淀区
平均发货2小时
成功完成率98.64%
-
全新
河北省保定市
平均发货20小时
成功完成率81.81%
-
全新
河北省保定市
平均发货24小时
成功完成率91.15%
-
全新
河北省保定市
平均发货16小时
成功完成率85.87%
-
全新
河北省保定市
平均发货26小时
成功完成率86.38%
-
全新
山东省潍坊市
平均发货16小时
成功完成率82.07%
-
九品
广西桂林市
平均发货10小时
成功完成率96.6%
-
全新
上海市黄浦区
平均发货10小时
成功完成率95.12%
-
全新
山东省泰安市
平均发货7小时
成功完成率85.16%