nest入门
1.nest接口风格
- get
- post
- delete
- Patch
//通过接口的调用方式来判断的
//不同于其他接口 http:aa.com?a=1;
//nest http:aa.com/id == http:aa.com/123:
nset版本控制
在mian.ts内设置
// 导入NestJS核心工厂类,用于创建应用实例
import { NestFactory } from '@nestjs/core';
import { VersioningType } from '@nestjs/common';
// 导入根模块,整个应用的入口模块
import { AppModule } from './app.module';
/**
* 应用程序启动函数 - 程序的入口点
* 就像按下电脑的开机按钮,启动整个NestJS应用
*/
async function bootstrap() {
// 使用NestFactory创建应用实例,传入根模块AppModule
const app = await NestFactory.create(AppModule);
//这里进行的是版本控制,通过URL控制
app.enableVersioning({
type:VersioningType.URI
})
await app.listen(process.env.PORT ?? 3000);
console.log('应用已启动,访问地址: http://localhost:3000');
}
bootstrap();
设置好之后,就可以在想操作的controller里设置
import { Controller, Get, Post, Body, Patch, Param, Delete,Version } from '@nestjs/common';
👆👆👆👆
import { UserService } from './user.service';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateUserDto } from './dto/update-user.dto';
//这种是整体控制版本
@Controller({
path:'user',
version:'1'
})
export class UserController {
constructor(private readonly userService: UserService) {}
@Post()
//这种是单独控制
//注:import { Version }from '@nestjs/common'; 最上方这里必须引入才可以 👆指的地方
@Version('1')
create(@Body() createUserDto: CreateUserDto) {
return this.userService.create(createUserDto);
}
...
}
Code码规范
- 200 OK
- 304 协商缓存
- 400 参数错误
- 401 token错误
- 403 验证失败
- 404 接口不存在
- 500 服务端错误
- 502上游接口问题或服务器问题
请求示例
1.get请求
@Get()
get(@Query){
}
@Post()
get(@Body){
}
//动态参数
@Get(":id")
get(@Param('id') param,@Headers() header){
// 这里的param就是传来id的值
// Headers 请求头里的数据可以通过header获取到
}
@HTTP