.Net Core 开发电商后端API ,吃透RESTful风格
.Net Core实战+RESTful思想纵深课程,开发极致RESTful风格API
使用RESTful风格构建企业级应用已经是行业共识,课程采用.Net Core框架通过开发“旅游网”项目,带领大家吃透RESTful思想,真正掌握高成熟度(HATEOAS超媒体引擎)级别RESTful API的开发技能。
向往极致RESTful风格开发;
对.Net Core开发感兴趣的在校学生、初或中级程序员
技术储备要求
熟悉C#基础语法
提取码:goqy
[/wm_notice]
-
第1章 关于这门课,你需要知道的 试看2 节 | 14分钟
本章中,将向大家介绍本门课的相关信息,包括你能学到的知识概览、最终项目效果、学习所需的知识储备、课程讲解方式、推荐的学习方法以及未来的更新计划等等。
收起列表
- 视频:1-1 课前须知,这里有你需要了解的一切 (13:07)试看
- 作业:1-2 【讨论题】对于不断推出的新框架,我们应该如何学习?
-
第2章 【项目启动】ASP.Net Core API 上手指南7 节 | 67分钟
工欲善其事,必先利其器。本章中会简单介绍.net core 平台,并开始搭建课程实战项目启动框架。
收起列表
- 视频:2-1 【理解】.Net Core的前世今生 (09:56)
- 视频:2-2 【应用】开发环境配置 (09:10)
- 视频:2-3 【应用】创建实战项目 (10:55)
- 视频:2-4 【应用】.NET Core的中间件、请求通道、以及环境设置 (12:33)
- 视频:2-5 【应用】添加第一个API (12:26)
- 视频:2-6 【理解】MVC架构 与 Web API (11:26)
- 图文:2-7 【思考】阶段练习题
-
第3章 【数据构建】数据模型与数据库设计 试看13 节 | 126分钟
本章中,我们会从数据模型的角度设计项目架构,并通过Entity Framework+Docker来搭建课程数据库【兼顾Window&Mac,总有一款适合你】。
收起列表
- 视频:3-1 【理解】商城数据模型设计 (11:55)试看
- 视频:3-2 【理解】数据模型与仓库模式 (09:39)
- 视频:3-3 【应用】创建数据模型和数据仓库 (20:41)
- 视频:3-4 【理解】什么是Entity Framework (04:24)
- 视频:3-5 【应用】基于docker完成数据库启动 (12:49)
- 图文:3-6 【选修】Windows家庭版安装Docker
- 视频:3-7 【应用】添加Entity Framework Core (19:34)
- 视频:3-8 【应用】创建数据库 (12:18)
- 视频:3-9 【应用】添加初始化数据 (13:39)
- 视频:3-10 【应用】更新数据库 (10:46)
- 视频:3-11 【选修】启用MySQL数据库 (09:32)
- 图文:3-12 【思考】阶段练习题
- 作业:3-13 【讨论题】数据模型设计
-
第4章 【API成熟度】通往真正REST的之路6 节 | 28分钟
本章会带领大家梳理Restful风格api的相关知识点,理解Restful的成熟度级别,并掌握restful的最佳实践方式
收起列表
- 视频:4-1 【理解】hello REST (09:00)
- 视频:4-2 【理解】RESTful的6个约束与最佳实践 (10:04)
- 视频:4-3 【理解】HTTP请求方法与资源交互 (01:57)
- 视频:4-4 【理解】 Richardson成熟度模型与HATOAS (06:16)
- 图文:4-5 【思考】阶段练习题
- 作业:4-6 【讨论题】通往真正REST的之路
-
第5章 【获取产品】RESTful面向资源入门13 节 | 80分钟
本章将正式进入课程的项目实战开发,从平台的产品模块入手,通过学习使用HTTP GET请求来获取旅游路线。在本章中我们会学习GET请求与Head 请求、HTTP状态码、内容协商、数据模型与DTO的分离,掌握automapper的数据映射技巧。
收起列表
- 视频:5-1 【应用】Http Get 获取资源 (09:58)
- 视频:5-2 【理解】Status Code 的重要性 (05:11)
- 视频:5-3 【应用】返回正确的 Status Codes (04:44)
- 视频:5-4 【理解】内容协商与数据格式 (03:07)
- 视频:5-5 【应用】实现内容协商 (08:14)
- 视频:5-6 【理解】数据模型(Model) vs. 数据传输对象(DTO) (05:14)
- 视频:5-7 【应用】分离Model与DTO (05:45)
- 视频:5-8 【应用】使用 AutoMapper 自动映射数据 (11:28)
- 视频:5-9 【应用】获取嵌套对象关系型数据 (12:14)
- 视频:5-10 【应用】单独获取子资源 (04:48)
- 视频:5-11 【应用】完善automapper的嵌套映射 (05:42)
- 视频:5-12 【应用】使用http的HEAD请求 (02:49)
- 图文:5-13 【思考】阶段练习题
-
第6章 【复合搜索】深入理解GET请求7 节 | 34分钟
在本章中我们来学习HTTP GET请求中的数据的搜索与过滤,并掌握Entity Framework 的数据延迟加载技巧Iqueryable。
收起列表
- 视频:6-1 【理解】向 API 传入参数 (03:43)
- 视频:6-2 【应用】关键词搜索 (08:22)
- 视频:6-3 【理解】延迟执行 IQueryable (02:53)
- 视频:6-4 【应用】数据过滤 (07:57)
- 视频:6-5 【应用】封装资源过滤器 (10:15)
- 图文:6-6 【思考】阶段练习题
- 作业:6-7 【讨论题】深入理解GET请求
-
第7章 【新建产品】POST 请求全面剖析 试看10 节 | 59分钟
在本章中我们来学习HTTP POST请求来完成产品的创建,并掌握ASP.NET Core中不同级别的数据验证方法
收起列表
- 视频:7-1 【理解】幂等与安全 (05:36)
- 视频:7-2 【应用】创建旅游路线资源 (15:16)试看
- 视频:7-3 【应用】创建子资源:旅游路线图片 (10:46)
- 视频:7-4 【应用】同时创建父子资源 (03:32)
- 视频:7-5 【理解】ASP.NET Core 的数据验证 (04:14)
- 视频:7-6 【应用】添加数据验证 (04:55)
- 视频:7-7 【应用】属性级别数据验证 (03:32)
- 视频:7-8 【应用】类级别数据验证 (04:58)
- 视频:7-9 【应用】输出状态码 422 (05:15)
- 图文:7-10 【思考】阶段练习题
-
第8章 【更新产品】PUT vs POST7 节 | 43分钟
在本章中我们来完成产品数据的更新,比较并掌握数据的两种更新方法:1. 通过HTTP PUT请求进行完整更新;2. 通过使用PATCH请求来进行数据的局部更新。
收起列表
- 视频:8-1 【理解】PUT vs. PATCH (03:38)
- 视频:8-2 【应用】使用put请求更新资源 (11:50)
- 视频:8-3 【应用】PUT请求的数据验证 (05:34)
- 视频:8-4 【理解】资源的局部更新 (05:01)
- 视频:8-5 【应用】使用PATCH部分更新资源 (11:40)
- 视频:8-6 【应用】PATCH请求的数据验证 (04:32)
- 图文:8-7 【思考】阶段练习题
-
第9章 【删除产品】解读http Delete3 节 | 26分钟
本章中我们来通过学习HTTP DELETE请求实现产品的删除。
收起列表
- 视频:9-1 【应用】删除资源 (06:08)
- 视频:9-2 【应用】删除嵌套子资源 (05:27)
- 视频:9-3 【应用】批量删除资源 (13:45)
-
第10章 【项目重构】走进异步编程的世界4 节 | 22分钟
本章中我们会结合实例展示异步编程在后端api中的重要性,详细讲解c#中异步操作的语法结构,带领同学们使用异步的方式重构项目。
收起列表
- 视频:10-1 【理解】hello 异步 (04:54)
- 视频:10-2 【理解】C#的异步async await (06:42)
- 视频:10-3 【应用】项目重构异步模式 (09:48)
- 图文:10-4 【思考】阶段练习
-
第11章 【单点登录】JWT与用户身份验证10 节 | 90分钟
本章将会实现实战项目的用户系统,完成单点登录系统,通过使用JWT来搭建项目的无状态登陆服务,帮助同学们熟练掌握.Net Core的身份认证框架Identity,并实现用户数据库的自动更新。
收起列表
- 视频:11-1 【理解】JWT原理剖析 (06:34)
- 视频:11-2 【理解】JWT与单点登录实例解释 (09:14)
- 视频:11-3 【应用】启用无状态登陆系统(模拟用户登陆) (16:38)
- 视频:11-4 【应用】启动API授权 (06:02)
- 视频:11-5 【应用】添加用户角色 (08:11)
- 视频:11-6 【应用】用户模型设计与数据库更新 (07:25)
- 视频:11-7 【应用】用户注册 (08:22)
- 视频:11-8 【应用】用户登陆 (10:12)
- 视频:11-9 【应用】定制用户模型并添加初始化用户数据 (16:26)
- 图文:11-10 【思考】阶段练习
-
第12章 【购物系统从0到1】功能完整的购物车开发7 节 | 54分钟
在本章中,我们将会综合运用前面所学到的知识,完成项目的购物车系统
收起列表
- 视频:12-1 【理解】开发概要与接口设计 (05:55)
- 视频:12-2 【应用】购物车模型设计与数据库更新 (11:17)
- 视频:12-3 【应用】获得当前用户的购物车 (13:57)
- 视频:12-4 【应用】向购物车加入商品 (07:47)
- 视频:12-5 【应用】从购物车删除商品 (07:06)
- 视频:12-6 【应用】从购物车批量删除商品 (07:52)
- 图文:12-7 【思考】阶段练习
-
第13章 【购物系统从0到1】极简主义的订单系统8 节 | 70分钟
在本章中,我们将会综合运用前面所学到的知识,完成项目订单系统。
收起列表
- 视频:13-1 【理解】开发概要与接口设计 (07:02)
- 视频:13-2 【应用】订单模型开发与数据库更新 (07:45)
- 视频:13-3 【理解】订单的有限状态 (03:42)
- 视频:13-4 【应用】使用Stateless实现订单状态机 (10:08)
- 视频:13-5 【应用】购物车下单、结算 (11:07)
- 视频:13-6 【应用】获得用户订单 (13:24)
- 视频:13-7 【应用】模拟支付 (16:41)
- 图文:13-8 【思考】阶段练习
-
第14章 【RESTful技能进阶】数据分页显示7 节 | 51分钟
从本章开始,课程就进入了进阶内容。在本章中,我们将会学习如何以restful的风格完成输出旅游路线搜索的分页显示功能。
收起列表
- 视频:14-1 【理解】分页与项目架构浅析 (08:27)
- 视频:14-2 【应用】完成简单分页 (08:57)
- 视频:14-3 【应用】分页进阶:模组化 (08:12)
- 视频:14-4 【应用】复用模组化分页 (07:55)
- 视频:14-5 【理解】分页导航 (03:26)
- 视频:14-6 【应用】高端分页:给header添加导航信息 (13:31)
- 图文:14-7 【思考】阶段练习
-
第15章 【RESTful技能进阶】数据排序8 节 | 49分钟
在本章中,我们将会学习如何动态地给输出的旅游路线数据排序。
收起列表
- 视频:15-1 【理解】给列表资源排序 (03:02)
- 视频:15-2 【应用】数据排序入门 (09:38)
- 视频:15-3 【理解】属性(Property) 映射服务 (02:45)
- 视频:15-4 【应用】创建属性(Property) 映射服务 (10:37)
- 视频:15-5 【应用】映射字典 (12:24)
- 图文:15-6 【选修】C#参数列表中的this(扩展方法)
- 视频:15-7 【应用】排序参数的分页导航 (02:11)
- 视频:15-8 【应用】处理400级别错误信息 (07:26)
-
第16章 【RESTful技能进阶】数据塑形5 节 | 30分钟
在本章中,我们将会学习如何给数据定制化塑形,输出不同颗粒度大小的数据集合,以适应不同的业务需求。
收起列表
- 视频:16-1 【理解】什么是数据塑形 (02:40)
- 视频:16-2 【应用】处理动态类型对象 (12:07)
- 视频:16-3 【应用】列表数据的塑形 (04:16)
- 视频:16-4 【应用】单一资源的塑形 (05:18)
- 视频:16-5 【应用】处理400级别错误 (05:32)
-
第17章 【极致RESTful风格】HATEOAS API的超媒体进化9 节 | 62分钟
在本章中,我们将会学习restful的最高级别成熟度等级,HATOEAS。通过实现api的自我发现机制,重构课程实战项目,并实现对不同的媒体类型的支持,完成api版本的控制。
收起列表
- 视频:17-1 【理解】不要被名字吓到的HATEOAS (05:46)
- 视频:17-2 【应用】使用HATOEAS处理单一资源 (09:37)
- 视频:17-3 【应用】在POST请求中复用创建link组件 (04:35)
- 视频:17-4 【应用】使用HATOEAS处理列表资源 (10:14)
- 视频:17-5 【应用】给项目添加API根文档 (05:45)
- 视频:17-6 【理解】媒体类型 (03:49)
- 视频:17-7 【应用】HATOEAS与请求媒体类型 (11:28)
- 视频:17-8 【应用】供应商特定媒体类型 (10:32)
- 图文:17-9 【思考】阶段练习
-
第18章 【项目上线】容器化、测试、和部署6 节 | 52分钟
在本章中,我们将会学习如何使用docker来进行项目的容器化部署,并使用阿里云容器化服务来部署到服务器
收起列表
- 视频:18-1 章节总览与部署方案 (01:51)
- 视频:18-2 部署到IIS服务器 (08:34)
- 视频:18-3 容器化部署.NET Core API (13:26)
- 视频:18-4 容器化部署阿里云ECS (18:22)
- 视频:18-5 课程总结 (09:28)
- 图文:18-6 【思考】阶段练习