常用请求方法
- GET:用于获取资源。
- POST:用于创建资源。
- PUT:用于更新资源。
- PATCH:用于部分更新资源。
- DELETE:用于删除资源。
常用装饰器
- @Query:用于获取查询参数。
- @Param:用于获取路径参数。
- @Body:用于获取请求体中的数据。
- @Headers:用于获取请求头中的数据。
- @Req:用于获取整个请求对象。
- @Res:用于获取整个响应对象。
示例
import { Controller, Request, Headers, Query, Get, Post, Body, Patch, Param, Delete, Put } from '@nestjs/common';
import { DemoService } from './demo.service';
import { log } from 'console';
import { userInfo } from 'os';
@Controller('demo')
export class DemoController {
constructor(private readonly demoService: DemoService) { }
//get请求 query传参,格式/list?id=123
@Get('list')
getList(@Query() req) {
return this.demoService.getList(req)
}
//动态路由param传承 格式/list/123
@Get('/list/:id')
GetOne(@Param('id') req) {
return this.demoService.findOne(req)
}
//post请求 json传参,@Body() req获取body里面的所有参数
@Post('list')
create(@Body() req, @Headers() header) {
//@Body('name') req加参数是获取body里面的name的值
log(req)
log(header)//获取请求头@Headers('cookie')加参数是获取请求头里面的cookie的值
return this.demoService.create(req)
}
//put更新请求 param传id,body传内容
@Put('/list/:id')
update(@Param('id') id, @Body() info) {
return this.demoService.update(id, info)
}
// delete删除请求 param传id
@Delete('/list/:id')
remove(@Param('id') id) {
return this.demoService.remove(id)
}
}