【NestJS学习笔记】 之 自定义装饰器

前言,小编最近在学习NestJS系列相关知识,想把自己了解到的知识点作为笔记的同时也分享给大家,本篇涉及的是与自定义装饰器相关的知识,如果有哪里写的不好的话还恳请各位掘友批评指正谢谢,小编将不胜感激,闲话不多说,我们直接步入正题吧...

NestJS中的自定义装饰器是一种强大的功能,允许你创建可重用的代码片段,以增强或修改类、方法、属性或参数的行为。自定义装饰器可以帮助你实现横切关注点,如日志记录、权限检查、参数验证等,而不需要修改原有的代码逻辑。

以下是NestJS中自定义装饰器的一些关键点和示例:

  1. 装饰器类型:

    • 类装饰器
    • 方法装饰器
    • 属性装饰器
    • 参数装饰器
  2. 创建自定义装饰器:

    使用TypeScript的装饰器工厂函数来创建自定义装饰器。

  3. 常见用途:

    • 元数据注入
    • 参数验证
    • 角色和权限检查
    • 日志记录
    • 异常处理

自定义权限装饰器

现在我们来把上一节守卫中的 SetMetadata 封装成一个自定义装饰器:

原本的代码样例如下

封装逻辑如下

使用自定义装饰器

测试


成功获取到admin信息

自定义参数装饰器

实现一个自定义参数装饰器返回一个url


使用


发起请求


打印结果

结语:以上就是小编对于NestJS中自定义装饰器的知识点的理解,感谢阅读!!!

相关推荐
Nan_Shu_6142 小时前
学习: Threejs (2)
前端·javascript·学习
G_G#2 小时前
纯前端js插件实现同一浏览器控制只允许打开一个标签,处理session变更问题
前端·javascript·浏览器标签页通信·只允许一个标签页
@大迁世界2 小时前
TypeScript 的本质并非类型,而是信任
开发语言·前端·javascript·typescript·ecmascript
GIS之路3 小时前
GDAL 实现矢量裁剪
前端·python·信息可视化
是一个Bug3 小时前
后端开发者视角的前端开发面试题清单(50道)
前端
Amumu121383 小时前
React面向组件编程
开发语言·前端·javascript
持续升级打怪中3 小时前
Vue3 中虚拟滚动与分页加载的实现原理与实践
前端·性能优化
GIS之路3 小时前
GDAL 实现矢量合并
前端
hxjhnct3 小时前
React useContext的缺陷
前端·react.js·前端框架
前端 贾公子4 小时前
从入门到实践:前端 Monorepo 工程化实战(4)
前端