1 ) 控制器的作用
2 ) 控制器的创建
nest g controller about
示例:
import { Controller } from '@nestjs/common';
@Controller('about')
export class AboutController {}
示例:
import { Controller, Get } from '@nestjs/common';
@Controller('about')
export class AboutController {
// about
@Get()
index():string {
// 注意上面的index可以随意命名,不一定要用index
return '我是about页面';
}
// 注意在装饰器中,不要使用分号;
// /about/more
@Get("more")
getMore():string {
// 注意上面的index可以随意命名,不一定要用index
return '我是about的更多页面';
}
}
3 )其他模块的创建
nest g --help
可查看哪些模块可以创建1 ) 概述
2 )装饰器的作用
@Request() req
@Response() res
@Next() next
@Session() req.session
@Param(key?: string) req.params / req.params[key]
@Body(key?: string) req.body / req.body[key]
@Query(key?: string) req.query / req.query[key]
@Headers(name?: string) req.headers / req.headers[name]
3 ) 装饰器示例
import { Controller, Get, Post, Query, Request, Body } from '@nest/common';
@controller('cart')
export class CartController {
@Get()
index() {
return 'Shopping Cart';
}
@Get('add')
addCart(@Query() query) {
console.log(query);
return 'Add To Cart';
}
@Get('edit')
editCart(@Request() req) {
console.log(req.query);
return req.query;
}
@Post('create')
create(@Body body) {
console.log(body);
return 'create'
}
}
3 ) 动态路由的配置
import { Controller, Get, Post, Param, Query } from '@nest/common';
@controller('order')
export class OrderController {
@Post('add')
addOrder(@Query('id') id) {
// order/add?id=123
console.log('id: ', id)
return id;
}
@Get(':id')
index(@Param() param) {
// order/123
console.log(param);
return '当前页面参数'
}
}
4 ) 动态路由的模糊匹配
import { Controller, Get, Post, Param, Query } from '@nest/common';
@controller('order')
export class OrderController {
@Get('xx*yy')
vagueMatch() {
console.log('vague match');
return '模糊匹配';
}
@Post('add')
addOrder(@Query('id') id) {
// order/add?id=123
console.log('id: ', id)
return id;
}
@Get(':id')
index(@Param() param) {
// order/123
console.log(param);
return '当前页面参数'
}
}