nest.js实战之模块路由前缀

34 篇文章 12 订阅 ¥99.90 ¥299.90
10 篇文章 10 订阅 ¥99.90 ¥299.90
本文档介绍了如何在Nest.js中为不同模块设置路由前缀,包括全局和Controller级别的前缀。通过深入源码,发现Nest.js支持通过MODULE_PATH元数据为模块设置路由前缀,但该特性未在官方文档显著位置说明。通过在模块上设置MODULE_PATH,可以实现如/AppModule和/AdminModule的路由划分。示例代码展示了在app.controller.ts和auth.controller.ts中的应用,最终形成/api/app和/api/auth等路由。
摘要由CSDN通过智能技术生成

 

1.简介

 

nest.js文档提供了两种路由前缀,一种是全局前缀:

  const app = await NestFactory.create(AppModule);
  app.setGlobalPrefix('v1')

 

还有一种是Controller级别的前缀,在一个Controller里起作用:

@Controller('/auth')
export class AuthController {
  

 

现在有一个需求,将路由分为多个模块,每个模块使用不同的路由前缀,如AppModule使用/app,AdminModule使用/admin

文档里没有提供类似的支持

 

2.源码

 

实际上nest.js源码里提供了这部分支持,不过好像目前没有将这个特性强调出来,这里有一段nest.js解析路由路径的代码:

nest\packages\core\router\routers-resolver.ts

  public resolve<T exte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值