使用Nestjs,我想获取带有http动词的所有可用路由(控制器方法)的列表,如下所示:
API:
POST /api/v1/user
GET /api/v1/user
PUT /api/v1/user
似乎需要访问Express路由器,但是我还没有在Nestjs中找到一种方法来执行此操作。对于Express,有一些库,例如“ express-list-routes ”或“ express-list-endpoints ”。
提前致谢!
我刚刚发现Nestjs应用程序具有“ getHttpServer()”方法,通过此方法,我可以访问“路由器堆栈”,以下是解决方案:
// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as expressListRoutes from 'express-list-routes';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(3000);
const server = app.getHttpServer();
const router = server._events.request._router;
console.log(expressListRoutes({}, 'API:', router));
}
bootstrap();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句