Nestjs中没有单独配置路由的地方。定义好控制器后nestjs会自动给我们配置对应的路由。
控制器的目的是接收应用的特定请求。路由机制控制哪个控制器接收哪些请求。通常,每个控制器有多个路由,不同的路由可以执行不同的操作。
nest g controller article
表示创建article的控制器,这个时候会在src目录下面生成一个article的文件夹,这个里面就是article的控制器,代码如下
import { Controller } from '@nestjs/common';
@Controller('article')
export class ArticleController {
}
创建好控制器后,nestjs会自动的在 app.module.ts 中引入ArticleController,代码如下:
import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ArticleController } from './article/article.controller' @Module({ imports: [ ], controllers: [AppController, ArticleController], providers: [AppService], }) export class AppModule {}
如果我们要访问控制器中的方法就需要配置路由
配置html
配置业务逻辑
import { Controller, Get, Post, Body,Response, Render} from '@nestjs/common'; @Controller('user') export class UserController { @Get() @Render('default/user') index(){ return {"name":"张三"}; } @Post('doAdd') doAdd(@Body() body,@Response() res){ console.log(body); res.redirect('/user'); //路由跳转 } }