ASP.NET Core与RESTful API 开发实战

作者
杨万青
丛书名
出版社
人民邮电出版社
ISBN
9787115519511
简要
简介
内容简介书籍计算机书籍 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简介\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\t14


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





有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4