欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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';
    }
}

运行结果如下:
Nest.js学习二 (控制器)

相关标签: Node node.js