Nestjs路由Post请求数据

Nestjs中没有单独配置路由的地方。定义好控制器后nestjs会自动给我们配置对应的路由。

控制器的目的是接收应用的特定请求。路由机制控制哪个控制器接收哪些请求。通常,每个控制器有多个路由,不同的路由可以执行不同的操作。


1、可以通过NestCLi创建控制器:

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 {}
	

如果我们要访问控制器中的方法就需要配置路由


2、Nestjs路由配置Post请求数据

配置html

	

	<form action="/user/doAdd" method="post">

		<input type="text" name="username" placeholder="请输入用户名" />
	
		<br>
		<br>
	
		<input type="text" name="age" placeholder="年龄" />
	
		<br>
		<br>
		<input type="submit" value="提交">
	</form>

配置业务逻辑

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