首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

快速打开 Nestjs 的世界

从引用官方介绍开始: Nest(NestJS)是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架。.../modules Nestjs 是典型的采用模块化组织应用结构的框架,通过上图可以看到,整个应用由一个根模块(Application Module)和多个功能模块共同组成。...读取请求对象 请求对象表示一个 HTTP 请求所携带的数据信息,请求数据的查询参数、路由参数、请求头、请求体等数据。...服务端升级时会启用临时资源; 学习提供者的使用 图片来自:docs.nestjs.com/providers 在 Nestjs 中将提供服务的及一些工厂、助手等称作提供者,它们同时均可以通过注入的方式作为依赖模块.../dto/create-order.dto'; import { UpdateOrderDto } from '.

40110

BFF与Nestjs实战

Module,字面意思是模块,在nestjs由@Module()修饰的class就是一个Module,在具体项目中我们会将其作为当前子模块的入口,比如一个完整的项目可能会有用户模块,商品管理模块,人员管理模块等等...应用的一个工厂函数,通常在入口文件来创建,也就是上文目录的main.ts,代码如下: main.ts import {NestFactory} from '@nestjs/core'; import...Middleware 中间件 Nestjs是对Express的二次封装,Nestjs的中间件等价于Express的中间件,最常用的场景就是全局的日志、跨域、错误处理、cookie格式化等较为常见的...内置异常层,内置的异常层负责处理整个应用程序的所有抛出的异常。.../user.service'; import * as DTO from '.

2.6K10

Nest.js 快速入门:实现对 Mysql 单表的 CRUD

Service 是可以被作为依赖注入到其他的实例中去的,所以用 Injectable 装饰器。...reflect-metadata 模块是用于解析的装饰器的,因为要给某个的实例注入依赖就得能解析出它通过装饰器声明了哪些依赖,然后注入给它。所以要实现 IOC 需要依赖这个包。.../dto/create-xxx.dto'; import { UpdateXxxDto } from '....@Param 是取路径的参数,@Query 是取查询字符串的参数。 @Body 是把请求参数设置到对象的属性上,被用来传递数据的对象叫做 dto(data transfer object)。...数据库一开始有两条记录: 通过查询接口能正确的查出来: 然后测试下修改接口: 数据库确实被修改了: 经过测试,对笔记单表的 CRUD 的功能正常。

4K30

NestJs 管道(Pipe)

Hi~ 大家好,我是小鑫同学,资深 IT 从业者,InfoQ 的签约作者,擅长前端开发并在这一领域有多年的经验,致力于分享我在技术方面的见解和心得 在 Nestjs 管道是具有 @Injectable...管道(Pipe)的使用 Nestjs 内置了下列的9个管道,利用这些管道可以轻松的验证路由参数、查询参数和请求正文是否合法,下面通过两个例子一起看一下管道的使用。...上面的例子中使用了管道而非管道的实例是因为 Nestjs 基于 IoC 的设计在框架内部可以自动对进行实例化操作,管道同时也支持通过构造函数传递选项的方式自定义内置管道的行为。...基于 dto 的验证 在基于 schema 的验证不仅编写了通用的 joi-validation 管道,还用 Joi 库编写了一份和 CreateUserDto 几乎一样的 schema 文件,每当..., useClass: ValidationPipe } ] }) export class AppModule {} 总结 以上就是 Nest 管道的使用方式,也是保证参数正常接收

28920

Nest.js 实战系列四:使用管道、DTO 验证入参,摆脱 if-else 的恐惧

前两天发现 NestJS 更新到了 7.0.3(之前是 6.0.0),为了让教程更贴合实际,故果断升级。...一、什么是 DTO? 数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库检索数据。...根据定义,我们需要在代码约定一下 DTO,还是以注册接口为例,先创建 user.dto.ts 简单定义一下: // src/logical/user exportclass RegisterInfoDTO...定义好 DTO 后,接下来将演示怎么和管道配合来验证参数。 二、管道 1. 概念 管道和拦截器有点像,都是在数据传输过程的“关卡”,只不过各司其职。...但如果不拥抱 TypeScript 的特性,那还不如直接用 JavaScript 来写,这样还更快( Koa、Egg等),定义 DTO 还有一个好处,那就是可以配合 Swagger 自动生成文档,并且是可请求的

3.7K20

Nest.js 从零到壹系列(五):使用管道、DTO 验证入参,摆脱 if-else 的恐惧

前两天发现 NestJS 更新到了 7.0.3(之前是 6.0.0),为了让教程更贴合实际,故果断升级。...一、什么是 DTO? 数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对象从数据库检索数据。...根据定义,我们需要在代码约定一下 DTO,还是以注册接口为例,先创建 user.dto.ts 简单定义一下: // src/logical/user export class RegisterInfoDTO...定义好 DTO 后,接下来将演示怎么和管道配合来验证参数。 二、管道 1. 概念 管道和拦截器有点像,都是在数据传输过程的“关卡”,只不过各司其职。...但如果不拥抱 TypeScript 的特性,那还不如直接用 JavaScript 来写,这样还更快( Koa、Egg等),定义 DTO 还有一个好处,那就是可以配合 Swagger 自动生成文档,并且是可请求的

4K41

Nest系列教程之控制器

为了创建一个基本的控制器,我们必须将元数据附加到。Nest 知道如何映射我们的控制器到相应的路由。...class UsersController {} 在上面的示例,我们在 UsersController 上使用了 @Controller('users') 装饰器。...现在我们来简单总结一下,在 Nest.js 自定义控制器的流程: 创建新的控制器; 使用 @Controller 装饰器装饰新的; 在相应的模块中注册新建的控制器。...处理 Post 请求 在介绍如何处理 Post 请求获取请求体前,我们先来介绍一下 DTO(数据传输对象)。DTO 是一个定义如何通过网络发送数据的对象。...对于其他的小伙伴来说,也可以使用其它的 HTTP Client, Postman、Paw 或 Fiddler 等。

1.8K31
领券