使用装饰器 Controller
import { Get, Controller } from '@nestjs/common';
import { AppService } from './app.service';
import { UserService } from './services';
@Controller()
export class AppController {
constructor(private readonly appService: AppService,
private userService:UserService) {}
@Get()
index():string{
return this.appService.root();
}
@Get("getUserInfo")
@Render("user/user_info")
async getUserInfo(@Param() param): string {
return await this.userService.getUserInfo(param.uid);
}
@Post()
async addUser(@Body() dto:UserInfo,@Res res){
const ret = await this.userService.addUser(dto);
const data = {
msg:"添加用户成功",
code:200
};
return data;
}
}
-
@Controller()
可以带参数表达的是路由访问的模块前缀,如设置为:@Controller("admin")
,其路由访问路径为:localhost:3000/admin
- 路由请求处理方式,如:
@Post,@Req, @Res, @Get
,若设置参数为:@Get("getUserInfo")
,则路由访问路径为:localhost:3000/admin/getUserInfo
- 在控制器里面还可以渲染对应的页面模板,如:
@Render("user/user_info")
,渲染user
目录下的user_info.hbs
文件。注意:渲染的具体模板文件不能使用形如:user.info.hbs
这种使用.(dot) 命名。
2018.9.30 深圳 天之骄子