ASP·NETCore与RESTfulAPI开发实战
《ASP·NETCore与RESTfulAPI开发实战》,杨万青 著,出版社: 人民邮电出版社。
人民邮电出版社,1953年10月成立,隶属于中国工信出版传媒集团,是工业和信息化部主管的大型专业出版社[1]。建社以来,人民邮电出版社围绕“立足工信事业,面向现代社会,传播科学知识,引领美好生活”的出版宗旨,已发展成为集图书、期刊、音像电子及数字出版于一体的综合性出版大社[2]。
目录
内容简介
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、认证与安全、测试以及部署等内容。
目录
第 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
参考文献
- ↑ 我国出版社的等级划分和分类标准,知网出书,2021-03-01
- ↑ 人民邮电出版社简介,人民邮电出版社