.NET Web API 全流程实战
30章 · 从零到部署
🎯 风格
📘 2025 新版
01
.NET 生态与开发环境搭建
.NET 发展史 · 版本差异 · SDK 安装 · VS2022 / VS Code · 第一个 Web API
02
RESTful API 设计原则
什么是 REST · 资源命名 · HTTP 动词与状态码 · 版本控制策略
03
ASP.NET Core 项目结构
Program.cs / Startup.cs 演变 · 中间件管道 · DI容器 · 配置系统
04
控制器与路由
Controller 基类 · 属性路由 · 路由约束 · 数据转换
05
模型绑定与验证
[FromBody] / [FromQuery] / [FromRoute] · 数据注解 · 自定义验证
06
Entity Framework Core 入门
ORM 概念 · DbContext · DbSet · 连接字符串 · Code-First 迁移
07
数据模型与关系映射
实体设计 · 主键/外键 · 导航属性 · 一对多/多对多 · Fluent API
08
仓储模式与服务层
Repository 模式 · Unit of Work · Service 层 · DI 注册
09
DTO 与 AutoMapper
数据传输对象 · ViewModel vs DTO · AutoMapper 配置与 Profile
10
日志记录
ILogger 接口 · 结构化日志 · Serilog · 日志级别与输出
11
全局异常处理
中间件捕获异常 · 自定义异常类 · ProblemDetails · 环境差异化
12
JWT 身份认证
Token 流程 · 生成 JWT · 认证中间件 · [Authorize] 特性
13
基于策略的授权
Claims / Roles · 策略定义 · 自定义 AuthorizationHandler
14
Swagger / OpenAPI
Swashbuckle 配置 · 文档分组 · XML 注释 · 自定义 UI
15
API 版本控制
URL 路径/查询字符串版本 · 自定义读取器 · Swagger 多版本
16
CORS 跨域配置
同源策略 · CORS 中间件 · 允许特定来源/方法/头
17
缓存策略
IMemoryCache · IDistributedCache · Redis · 响应缓存中间件
18
异步编程与性能
async/await 最佳实践 · Task / ValueTask · ConfigureAwait · 避免死锁
19
健康检查
Health Checks 中间件 · 自定义检查 · 数据库/外部服务探测
20
单元测试
xUnit / NUnit · Moq 模拟 · 测试 Controller/Service · WebApplicationFactory
21
集成测试
WebApplicationFactory · TestServer · 内存数据库 · 自定义工厂
22
Docker 容器化
Dockerfile · 多阶段构建 · docker-compose · SQL Server + API
23
CI/CD 流水线
GitHub Actions / Azure DevOps · 自动构建 · 测试 · 发布制品
24
部署到 IIS
发布配置 · 应用程序池 · web.config 转换 · 常见问题
25
部署到 Linux (Nginx)
Kestrel 反向代理 · Nginx 配置 · systemd 服务管理
26
部署到 Azure App Service
创建 Web App · 部署槽 · 应用设置 · 日志流
27
监控与遥测
Application Insights · 自定义事件 · 性能计数器 · 告警
28
API 安全加固
HTTPS 强制 · 防 SQL 注入/XSS · 速率限制 · CSRF 防护
29
GraphQL 入门
选修
Hot Chocolate · Query/Mutation/Subscription · 与 REST 对比
30
微服务架构初探
进阶
服务拆分 · gRPC 通信 · API 网关 (Ocelot) · 服务发现 (Consul)