本课程通过开发知识社区平台网站的服务端核心模块,带你步步深入的理解 RESTful API的概念和设计原则,同时讲解了Koa2 、MongoDB、JWT 等一线开发技术,实现从Hello World,到完成线上部署的开发全过程。
第1章 学习之前要告诉你的 1 节 | 15分钟
这一章只有一节,也只有一个目的,就是告诉你这门课程讲了什么,最终做出的效果,以及学习这门课程你需要先掌握哪些技术。
1-1 关于这门课程你想知道的都在这一节里面了 (14:28)
第2章 跟着 GitHub 认识 RESTful API 4 节 | 53分钟
本章以全球最大的同性社交社区 GitHub 的 RESTful API 十几个最佳实践为例,让你掌握最完整的 RESTful API 理论
2-1 REST 是什么以及它的 6 个限制 (17:00)
2-2 统一接口的限制 (10:50)
2-3 RESTful API 简介 (08:02)
2-4 RESTful API 设计最佳实践 (16:56)
第3章 用 Koa 说 Hello World4 节 | 40分钟
本章将带你了解什么是 Koa 框架,搭建 Koa 框架的开发环境,并且编写第一个 Koa 框架的程序。不仅如此,重点是还要带你理解什么是 Koa 中间件以及经典的洋葱模型。
3-1 Koa 简介 (10:45)
3-2 安装搭建第一个 Koa 程序 (13:10)
3-3 Koa 中间件与洋葱模型 (15:16)
3-4 聊一下洋葱模型
第4章 Koa 框架的路由与 RESTful API 最佳实践6 节 | 46分钟
本章主要讲解 Koa 框架的路由。和其他课程的区别在于,不仅要学习 Koa 框架本身的路由用法,还要学习实现 REST 风格的路由用法。
4-1 路由简介 (08:57)
4-2 自己编写 Koa 路由中间件 (11:15)
4-3 使用 koa-router 实现路由 (11:31)
4-4 HTTP options 方法的作用是什么 (08:02)
4-5 聊聊 HTTP 方法
4-6 RESTful API 最佳实践——增删改查应该返回什么响应 (05:33)
第5章 Koa 框架的控制器以及设计更合理的目录结构5 节 | 53分钟
本章主要讲解 Koa 框架的控制器部分的内容。从如何获取 HTTP 的请求参数,到发送 HTTP 的响应,一应俱全。让你明白目录结构是怎么来设计的更合理。
5-1 控制器简介 (08:56)
5-2 获取 HTTP 请求参数 (10:56)
5-3 发送 HTTP 响应 (12:54)
5-4 更合理的目录结构 (19:30)
5-5 聊聊 HTTP 响应
第6章 多种方案实现错误处理机制5 节 | 47分钟
本章主要讲解多种方案的错误处理。主要分三方面,一是 Koa 框架自带的错误处理,一是编写错误处理中间件,一是使用优秀的错误处理中间件。
6-1 错误处理简介 (05:57)
6-2 Koa 自带的错误处理 (08:23)
6-3 自己编写错误处理中间件 (10:58)
6-4 使用 koa-json-error 进行错误处理 (10:30)
6-5 使用 koa-parameter 校验参数 (10:14)
第7章 第一批用户入库啦~~7 节 | 51分钟
本章主要讲解 NoSQL 概念以及 MongoDB 数据库的理论与入门实践。通过 MongoDB Atlas 云数据库学习 MongoDB 的增删改查等常见操作。
7-1 NoSQL 简介 (05:44)
7-2 MongoDB 简介 (05:37)
7-3 云数据库——MongoDB Atlas (11:10)
7-4 使用 Mongoose 连接 MongoDB (06:39)
7-5 设计用户模块的 Schema (07:44)
7-6 用 MongoDB 实现用户的增删改查 (13:22)
7-7 聊聊 NoSQL
第8章 JWT 在 Koa 框架中实现用户的认证与授权9 节 | 94分钟
本章主要讲解 JWT 如何实现用户的认证与授权。从 Session 开始讲解过渡到 JWT,关键在于 Session 和 JWT 的对比。以及通过 Koa 框架的 JWT 中间件实现用户注册于授权登录功能。
8-1 Session 简介 (12:05)
8-2 JWT 简介 (10:39)
8-3 JWT vs. Session (08:37)
8-4 在 Node.js 中使用 JWT (07:50)
8-5 实现用户注册 (13:49)
8-6 实现登录并获取 Token (12:04)
8-7 自己编写 Koa 中间件实现用户认证与授权 (20:07)
8-8 用 koa-jwt 中间件实现用户认证与授权 (07:53)
8-9 聊聊 Session 和 JWT
第9章 项目实战之上传图片模块4 节 | 31分钟
本章主要讲解 Koa 框架如何实现上传。凡事从需求分析入手,通过使用 Koa 框架的中间件实现获取上传的文件以及生成图片的链接。
9-1 上传图片需求分析 (08:05)
9-2 使用 koa-body 中间件获取上传的文件 (07:44)
9-3 使用 koa-static 中间件生成图片链接 (06:14)
9-4 编写前端页面上传文件 (08:04)
第10章 项目实战之个人资料模块 —— 学习处理复杂数据类型4 节 | 45分钟
本章主要讲解如何设计复杂的 MongoDB 数据类型。从需求分析开始,到 schema 的设计,再到参数的校验。最后,还要实现 RESTful API 的最佳实践。
10-1 个人资料需求分析 (08:17)
10-2 个人资料的 schema 设计 (13:34)
10-3 个人资料的参数校验 (12:06)
10-4 RESTful API 最佳实践——字段过滤 (10:38)
第11章 项目实战之关注与粉丝模块5 节 | 40分钟
本章主要讲解项目中关注与粉丝模块的设计与实现。覆盖了数据库中的经典多对多关系的设计,以及 RESTful 风格的接口设计与实现。最后,还编写了用来校验用户存在与否的 Koa 中间件。
11-1 关注与粉丝需求分析 (03:16)
11-2 关注与粉丝的 schema 设计 (06:05)
11-3 RESTful 风格的关注与粉丝接口(上) (15:28)
11-4 RESTful 风格的关注与粉丝接口(下) (07:57)
11-5 编写校验用户存在与否的中间件 (06:22)
第12章 项目实战之话题模块(足够完整!!)8 节 | 82分钟
本章主要围绕话题功能模块进行讲解,包括话题模块本身和用户属性中的话题引用。覆盖多个比如分页、模糊搜索等等的 RESTful API最佳实践,还包括了数据库引用的实践哦~
12-1 话题模块需求分析 (06:56)
12-2 RESTful 风格的话题增改查接口(上) (12:09)
12-3 RESTful 风格的话题增改查接口(下) (07:52)
12-4 RESTful API 最佳实践——分页 (12:41)
12-5 RESTful API 最佳实践——模糊搜索 (05:59)
12-6 用户属性中的话题引用 (14:57)
12-7 RESTful 风格的关注话题接口(上) (10:50)
12-8 RESTful 风格的关注话题接口(下) (10:24)
第13章 项目实战之问题模块 —— 复杂的数据库设计3 节 | 22分钟
本章主要围绕问题模块进行展开。通过问题模块的实现,来学习数据库中的一对多和多对多关系的设计与实现,带你逐步深入到数据库的复杂设计中。
13-1 问题模块需求分析 (04:56)
13-2 用户-问题一对多关系设计与实现 (10:49)
13-3 话题-问题多对多关系设计与实现 (06:10)
第14章 项目实战之答案模块 —— 更复杂的数据库设计4 节 | 43分钟
本章主要围绕答案模块进行讲解。覆盖了 RESTful API 最佳实践 —— 嵌套路由、互斥接口的实现等内容,并且讲解了二级嵌套关系中的增删改查接口的实现。
14-1 答案模块需求分析 (01:42)
14-2 问题-答案模块二级嵌套的增删改查接口 (14:30)
14-3 互斥关系的赞踩答案接口设计与实现 (20:00)
14-4 RESTful 风格的收藏答案接口 (06:22)
第15章 项目实战之评论模块 —— 最复杂的数据库设计4 节 | 25分钟
本章主要围绕评论模块的设计与实现进行学习。其中,包括了最复杂的三级嵌套接口的设计与实现,还有有关一级评论、二级评论的设计与实现等内容。
15-1 评论模块需求分析 (02:59)
15-2 问题-答案-评论模块三级嵌套的增删改查接口 (10:25)
15-3 一级评论与二级评论接口的设计与实现 (07:20)
15-4 添加日期 (03:53)
第16章 丑媳妇终要见公婆:项目上线、部署与配置3 节 | 33分钟
本章主要讲解如何将开发完成的项目部署到服务器上。其中,包括了服务器的环境搭建、用 Nginx 实现服务器端口的转发、PM2 管理服务进程等等这些内容。
16-1 在服务器上安装 Git 与 Node.js (09:43)
16-2 用 Nginx 实现端口转发 (13:18)
16-3 使用 PM2 管理进程 (09:21)
第17章 使人进步的基石:回顾与总结1 节 | 7分钟
最后一章带着大家把整个课程回顾一遍,尤其是重难点,技术点。最后总结经验、心得以及扩展建议等等。
17-1 回顾与总结 (06:01)
Copyright © 2023-2024 - All rights reserved备案号: 黔ICP备15010373号-7
若您需要使用非免费的软件或服务,请购买正版授权并合法使用。本站资源仅供学习研究。若发布的内容若侵犯到您的权益,请联系站长我们将及时处理。