当前位置:网站首页>小满nestjs(第四章 前置知识装饰器-实现一个GET请求)
小满nestjs(第四章 前置知识装饰器-实现一个GET请求)
2022-08-09 18:40:00 【小满zs】
安装依赖npm install axios -S
定义控制器 Controller
class Controller {
constructor() {
}
getList () {
}
}
定义装饰器
这时候需要使用装饰器工厂
应为装饰器默认会塞入一些参数
定义 descriptor 的类型 通过 descriptor描述符里面的value 把axios的结果返回给当前使用装饰器的函数
const Get = (url: string): MethodDecorator => {
return (target, key, descriptor: PropertyDescriptor) => {
const fnc = descriptor.value;
axios.get(url).then(res => {
fnc(res, {
status: 200,
})
}).catch(e => {
fnc(e, {
status: 500,
})
})
}
}
完整代码 接口可以直接用允许跨越的
import axios from 'axios'
const Get = (url: string): MethodDecorator => {
return (target, key, descriptor: PropertyDescriptor) => {
const fnc = descriptor.value;
axios.get(url).then(res => {
fnc(res, {
status: 200,
})
}).catch(e => {
fnc(e, {
status: 500,
})
})
}
}
//定义控制器
class Controller {
constructor() {
}
@Get('https://api.apiopen.top/api/getHaoKanVideo?page=0&size=10')
getList (res: any, status: any) {
console.log(res.data.result.list, status)
}
}
边栏推荐
猜你喜欢
Open Source Summer | List Details Display Based on Ruoyi Architecture
[免费专栏] Android安全之GDB动态调试APP
渗透测试——CFS三层靶机内网渗透实操
[Free column] Xposed plug-in development for Android security [from scratch] tutorial
国产抗新冠口服药每瓶不超300元/ 我国IPv6网络全面建成/ 谷歌入局折叠屏手机...今日更多新鲜事在此...
IDEA快捷代码实时模板
使用.NET简单实现一个Redis的高性能克隆版(四、五)
鹅厂机器狗花式穿越10m梅花桩:前空翻、单桩跳、起身作揖...全程不打一个趔趄...
Samsung's flagship discount is 1,800, Apple's discount is over 1,000, and the domestic flagship is only reduced by 500 to send beggars
pytest框架之mark标记功能详细介绍
随机推荐
[免费专栏] Android安全之数据存储与数据安全【大集合】
基于设计稿识别的可视化低代码系统实践
Laravel DB批量更新的方法
ebook下载 | 《 企业高管IT战略指南——企业为何要落地DevOps》
时序攻击
[免费专栏] Android安全之APK动态方式逆向应用【三种Smali注入方法】
【Unity3D】2D动画
关于加强专业学位研究生课程体系建设的意见
Iptables防火墙常见的典型应用场景
awk use
ebook download | "Business executives' IT strategy guide - why enterprises should implement DevOps"
[免费专栏] Android安全之Android工程模式
laravel报错:TokenMismatchException in VerifyCsrfToken.php line 68:
MYSQL物理存储文件的页和INNOBUF的页是否有大小区别?
21天学习挑战赛--第四天打卡(横竖屏切换)
《痞子衡嵌入式半月刊》 第 60 期
pytest框架之mark标记功能详细介绍
Swift -- 数组高阶函数
最新BEV感知基线 | 你确定需要激光雷达?(卡内基梅隆大学)
智驾科技完成C1轮融资,此前2轮已融4.5亿元