Nestjs的守卫和拦截器
这一节本来是想说守卫和权限(RBAC)的,但是我们还没做登录和验证(JWT),直接说权限感觉顺序有点错乱了,但是验证这里呢又用到了守卫,所以这一节先说一下守卫和拦截器,他们放到一起因为都用到了同一个上下文ExecutionContext。下一节我们在说一下上下文的相关内容,然后再讲JWT和RBAC吧。
这一节本来是想说守卫和权限(RBAC)的,但是我们还没做登录和验证(JWT),直接说权限感觉顺序有点错乱了,但是验证这里呢又用到了守卫,所以这一节先说一下守卫和拦截器,他们放到一起因为都用到了同一个上下文ExecutionContext。下一节我们在说一下上下文的相关内容,然后再讲JWT和RBAC吧。
在之前的搭建CRUD代码内容中,我们提到过管道配合class-validator做验证,这一节我们来看一下什么是管道,以及验证的一个流程。
在前边的中间件章节我们说到过,异常的统一格式处理是通过异常过滤器来实现的,这一节我们就看看异常过滤器的内容。
异常层负责处理整个应用程序中的所有抛出的异常。当捕获到未处理的异常时,最终用户将收到友好的响应。
中间件函数可以访问请求和响应对象,以及应用程序请求响应周期中的 next() 中间件函数。
中间件函数可以执行以下任务:
next() 将控制传递给下一个中间件函数。否则, 请求将被挂起。前边我们用mysql和typeorm搭建了一个基本的CRUD结构,考虑到有些朋友是使用mongodb开发的,所以我们本次用mongoose配合nestjs搭建一个基本的CRUD。
nestjs的一些基础操作在mysql那一节已经说过了,这里就直接跳过了哦
前边我们已经搭建了一个Nest项目,现在我们来看一下怎么写一个CRUD的项目。
最近在学习Golang,就把之前写过的排序算法拿golang复刻一下吧。
实现思路可以看python篇哈。
前边我们对axios0.18.0的源码内容做了解读,但是0.18.0的版本有些老了,从github拉了axios1.0.0-beta版本来看一下有了哪些变动吧
前边碰到取消请求相关的部分内容都是直接略过的,现在主线任务已经完成了,好好看一下支线任务Cancel与CancelToken吧。
书接上回,上节课的内容留下了一个坑,dispatchRequest方法内部究竟做了什么?这一节我们就来看一下其内部实现。
关于取消请求部分的逻辑在这一节会省略掉,以求最简单清晰的去理解整个工作流程。