当前位置:网站首页>小满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)
}
}

边栏推荐
猜你喜欢
随机推荐
Detailed explanation of VIT transformer
启动 CM agent 报错——ImportError: libssl.so.10: cannot open shared object file: No such file or directory
Fully automated machine learning modeling!The effect hangs the primary alchemist!
qq机器人账号不能发送群消息,被风控
C#/VB.NET: Extract text and pictures from PowerPoint document
Queue topic: Implementing stacks with queues
MQTT X Web:在线的 MQTT 5.0 客户端工具
开源一夏 | 基于若依架构的列表详情展示
MYSQL物理存储文件的页和INNOBUF的页是否有大小区别?
[免费专栏] Android安全之动态代码注入技术(利用JDB调试APK)
使用.NET简单实现一个Redis的高性能克隆版(四、五)
基于CC2530 E18-MS1-PCB Zigbee DIY作品
vim编辑器使用
[免费专栏] Android安全之数据存储与数据安全【大集合】
YOLO v3 source, rounding
mysql 重复数据 分组 多条最新的记录
面试官:MySQL 中 update 更新,数据与原数据相同时会执行吗?大部分人答不上来!
laravel之phpunit单元测试
听音识情绪 | 程序员手把手教你搭建神经网络,更快get女朋友情绪,求生欲max!
队列题目:用队列实现栈

![[免费专栏] Android安全之和平精英(FZ)APK逆向分析](/img/22/a5129a310eec5ee1bf6f1cf90d05de.png)







![[免费专栏] Android安全之Root检测和绕过(浅析)](/img/04/4170dea9c367c406fe3f36cb9c6501.png)