gpt4 book ai didi

node.js - 如何在 Nestjs 中获取所有路由(来自每个模块上可用的所有模块和 Controller )?

转载 作者:行者123 更新时间:2023-12-02 04:08:25 32 4
gpt4 key购买 nike

使用 Nestjs,我想获取带有 http 动词的所有可用路由( Controller 方法)的列表,如下所示:

API:
POST /api/v1/user
GET /api/v1/user
PUT /api/v1/user

似乎需要访问express router,但我还没有找到在Nestjs中做到这一点的方法。对于 Express,有一些库,例如“express-list-routes ”或“express-list-endpoints ”。

提前致谢!

最佳答案

main.ts

async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
const server = app.getHttpServer();
const router = server._events.request._router;

const availableRoutes: [] = router.stack
.map(layer => {
if (layer.route) {
return {
route: {
path: layer.route?.path,
method: layer.route?.stack[0].method,
},
};
}
})
.filter(item => item !== undefined);
console.log(availableRoutes);
}
bootstrap();

关于node.js - 如何在 Nestjs 中获取所有路由(来自每个模块上可用的所有模块和 Controller )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58255000/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com