
在Nest.js中访问嵌套路由
NestJS框架使用模块化设计,路由定义在控制器中。嵌套路由指的是在一个控制器中定义的路由路径,依赖于另一个控制器的路由路径。浏览器访问嵌套路由的方式与普通路由略有不同。
让我们来看一个例子:
假设我们有两个控制器:AppController和SystemController。
// app.controller.ts
import { Controller, Get } from '@nestjs/common';
@Controller() // 根路由
export class AppController {
@Get()
root(): string {
return 'Root route';
}
}
登录后复制
// system.controller.ts
import { Controller, Get } from '@nestjs/common';
@Controller('system') // 嵌套路由的父路径
export class SystemController {
@Get('testindex')
getTestIndex(): string {
return 'Test index page';
}
}
登录后复制
SystemController 使用 @Controller(‘system’) 装饰器,定义了其路由前缀为 /system。 getTestIndex 方法的路由则相对于父路径 /system,因此完整的路由路径为 /system/testindex。
要访问getTestIndex 方法,您需要在浏览器中输入以下URL:
http://localhost:3000/system/testindex
登录后复制
关键点:
- NestJS会自动将父控制器(AppController)的路由前缀与子控制器(SystemController)的路由前缀组合起来。
- 不要在嵌套路由控制器中重复定义父控制器的路由前缀。 例如,在SystemController中,不要使用 @Controller(‘/system/system’)。
通过这种方式,您可以轻松地在NestJS中创建和访问嵌套路由,从而构建更清晰、更易于维护的应用程序。
以上就是Nest.js中嵌套路由:浏览器如何访问?的详细内容,更多请关注php中文网其它相关文章!