小满nestjs(第二十二章 nestjs 自定义装饰器)

简介: 在Nestjs 中我们使用了大量装饰器 decorator ,所以Nestjs 也允许我们去自定义装饰器。

在Nestjs 中我们使用了大量装饰器 decorator ,所以Nestjs 也允许我们去自定义装饰器。


b2098d62ace3491888c373ad1496259e.png


案例1 自定义权限装饰器


生成装饰器


nest g d [name]


import { SetMetadata } from '@nestjs/common';
export const Role = (role: string[]) => {
    console.log(role,1)
    return SetMetadata('role', role);
}

52e259dee68a42e7ac3e70b4b24c81e7.png


案例2 自定义参数装饰器返回一个url


import { SetMetadata,createParamDecorator,ExecutionContext ,applyDecorators } from '@nestjs/common';
import type {Request} from 'express'
export const ReqUrl = createParamDecorator((data:string,ctx:ExecutionContext)=>{
    const req = ctx.switchToHttp().getRequest<Request>()
    return req.url
})


4e8b67be7037456a80af3fd5617f37a7.png

目录
相关文章
|
前端开发
小满nestjs(第十章 nestjs 提供者)
如果服务 之间有相互的依赖 或者逻辑处理 可以使用 useFactory
182 0
小满nestjs(第十章 nestjs 提供者)
|
中间件
小满nestjs(第十二章 nestjs 中间件)
中间件是在路由处理程序 之前 调用的函数。 中间件函数可以访问请求和响应对象
227 1
小满nestjs(第十二章 nestjs 中间件)
小满nestjs(第十一章 nestjs 模块)
每个 Nest 应用程序至少有一个模块,即根模块。根模块是 Nest 开始安排应用程序树的地方。事实上,根模块可能是应用程序中唯一的模块,特别是当应用程序很小时,但是对于大型程序来说这是没有意义的。在大多数情况下,您将拥有多个模块,每个模块都有一组紧密相关的功能
135 0
小满nestjs(第十一章 nestjs 模块)
|
前端开发 测试技术 API
小满nestjs(第八章 nestjs 控制器)
小满nestjs(第八章 nestjs 控制器)
195 0
小满nestjs(第八章 nestjs 控制器)
|
JavaScript API
小满nestjs(第十五章 nestjs 和 RxJs)
nterval 五百毫秒执行一次 pipe 就是管道的意思 管道里面也是可以去掉接口的支持处理异步数据 去处理数据 这儿展示 了 map 和 filter 跟数组的方法是一样的 最后 通过观察者 subscribe 接受回调
133 0
小满nestjs(第十五章 nestjs 和 RxJs)
|
JavaScript 数据可视化 关系型数据库
小满nestjs(第二十四章 nestjs 连接数据库)
Nestjs 集成数据库,由于企业用的Mysql 居多 我们就用Nestjs 连接 Mysql
460 0
小满nestjs(第二十四章 nestjs 连接数据库)
|
中间件 数据安全/隐私保护
小满nestjs(第二十一章 nestjs 守卫)
守卫有一个单独的责任。它们根据运行时出现的某些条件(例如权限,角色,访问控制列表等)来确定给定的请求是否由路由处理程序处理。这通常称为授权。在传统的 Express 应用程序中,通常由中间件处理授权(以及认证)。中间件是身份验证的良好选择,因为诸如 token 验证或添加属性到 request 对象上与特定路由(及其元数据)没有强关联。
237 0
小满nestjs(第二十一章 nestjs 守卫)
小满nestjs(第十七章 nestjs 异常拦截器)
让我们创建一个异常过滤器,它负责捕获作为HttpException类实例的异常,并为它们设置自定义响应逻辑。为此,我们需要访问底层平台 Request和 Response。我们将访问Request对象,以便提取原始 url并将其包含在日志信息中。我们将使用 Response.json()方法,使用 Response对象直接控制发送的响应。
138 0
小满nestjs(第十七章 nestjs 异常拦截器)
小满nestjs(第三章 前置知识装饰器)
属性描述符 可写对应writable,可枚举对应enumerable,可配置对应configurable
103 0
小满nestjs(第三章 前置知识装饰器)
|
前端开发
小满nestjs(第九章 nestjs Session)
session 是服务器 为每个用户的浏览器创建的一个会话对象 这个session 会记录到 浏览器的 cookie 用来区分用户
329 0
小满nestjs(第九章 nestjs Session)