1、获取post请求的数据用@Body()参数装饰器获取数据,此外还有参数装饰器@Query、@Param()。
另外@Param()获取Params里的东西
2、在获取参数时,有事会需要定义请求数据格式,可以按照下面创建createPostDto类的方式来约束数据。
import { Body, Controller, Get, Param, Post, Query } from '@nestjs/common';import { ApiOperation, ApiTags } from '@nestjs/swagger';// 标识创建帖子的参数详情class createPostDto{//可以在swagger中显示 @ApiProperty({description:'帖子标题'}) title:string //可以在swagger中显示 @ApiProperty({description:'帖子内容'}) content:string}@Controller('posts')@ApiTags('帖子')export class PostsController { @Get() @ApiOperation({summary:'显示博客列表'}) index() { return [ {id:1111}, {id:13}, {id:14}, {id:1}, {id:37}, {id:26}, ]; } @Post() @ApiOperation({summary:"创建帖子"}) //post请求//:createPostDto是用来约束请求参数的,请求的参数要符合createPostDto类。 create(@Body() Body:createPostDto){ return{ success:true } } //get请求 // create(@query() Body){ // return{ // success:true // } // } @Get(':id') detail(){ return{ id:1, title:'aaaaa' } }}
示例