Nest.js学习笔记3!路由通配符( ! ) 和 修改状态码

0 阅读1分钟

路由通配符( * )

在Nest中( * ) 作为路由的通配符,这样就可以匹配相应的路由了。例如:

import { Controller, Get, Post } from '@nestjs/common';

@Controller('cats')
export class CatsController {
  @Post()
  createPost() {
    return '这里是Controller:POST路由的cats的createPost方法~';
  }

  @Get()
  findAllCats() {
    return '这里是Controller:cats的findAllCats方法~';
  }

  @Get('wjy*wjy')
  findWildcard() {
    return '这里是路由的通配符(*)';
  }
}

这个路由将匹配:wjy_wjy、wjywjy、wjy.wjy、wjytestwjy等. 字符 ? 、 + 、 * 以及 () 是它们的正则表达式对应项的子集。 连字符 (-) 和点 (.) 按字符串路径解析。 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

状态码

不知道刚刚有没有注意到,在获取POST路由的时候,状态码是201; 默认情况下,响应的状态码总是200,POST 请求是201. 在这里插入图片描述

修改状态码

处理程序层添加@HttpCode(...) 装饰器来更改

import { Controller, Get, HttpCode, Post } from '@nestjs/common';

@Controller('cats')
export class CatsController {
  @Post()
  @HttpCode(200)
  createPost() {
    return '这里是Controller:POST路由的cats的createPost方法~';
  }

  @Get()
  findAllCats() {
    return '这里是Controller:cats的findAllCats方法~';
  }

  @Get('wjy*wjy')
  findWildcard() {
    return '这里是路由的通配符(*)';
  }
}

在这里插入图片描述