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'); //路由跳转
}
}