Nest.js学习二 (控制器)
程序员文章站
2022-03-16 11:12:08
...
控制器负责处理客户端传入的请求和向客户端返回相应。
1. 使用CLI创建控制器,执行如下命令
$ nest g controller users
执行上述命令,会在src文件夹下生成users文件夹,文件夹中有users.controller.ts文件。
2. 创建不同的端点来使用不同类型的路由
常用路由包括GET路由、POST路由、PUT路由、DELETE路由
其中POST路由处理程序不接收任何客户端参数,我们在这里添加@Body()参数来解决这个问题;
我们先来创建一个CreateUserDTO类,DTO(数据传输对象)是一个对象,它定义了如何通过网络发送数据
users/dto/create-user.dto.ts
export class CreateUserDto {
readonly id: number;
readonly name: string;
readonly age: number;
}
编辑users.controller.ts
import { Controller, Get, Post, Body, Param, Put, Delete } from '@nestjs/common';
import { CreateUserDto } from './dto/create-user.dto';
@Controller('users')
export class UsersController {
@Post()
create(@Body() createUserDto: CreateUserDto) {
return 'This action adds a new user';
}
@Get()
findAll(): string {
return 'This action returns all users';
}
@Get(':id')
findOne(@Param('id') id: string) {
return 'This action returns a user';
}
@Put(':id')
update(@Param('id') id: string, @Body() createUserDto: CreateUserDto) {
return 'This action updates a user';
}
@Delete(':id')
delete(@Param('id') id: string) {
return 'This action deletes a user';
}
}
运行结果如下: