上一篇介绍了如何使用中间件、拦截器、过滤器打造日志系统,接下来将介绍后端永远绕不过去的痛:参数验证。
你是否曾经为了验证参数,写了一大堆 if - else ?然后还要判断各种参数类型?相似的结构在不同的方法里判断,却又要复制一遍代码?
在使用nestjs开发应用时,我们一般需要对前端提交的数据进行验证,此时就需要用到class-validator这个库了。
Nest 与 class-validator[1] 配合得很好,它允许我们使用基于装饰器的验证,在dto层中我们可以通过它的一些内置注解完成对参数的一些常用校验。
说白一点,就是一个接口,必定有必填字段和字段的要求,如果前台调用这个接口,字段不符合,应正确提示不符合的字段,class-validator 用于入的数据验证。
在 Nestjs 中管道是具有 @Injectable() 装饰器且已实现 PipeTransform 接口的类。
Nest.js 久有耳闻了,但是一直没有时间去真正学习他,一直鸽子到了现在。我想借着学习 nest 的先进思想,来重构我的博客后端。
意思就git的提交记录以单行显示的前三条,而且提交概要中有build这个词的 在nest里面的管道,主要是用来做入参数据类型的拦截转换; 跟ng提供的概念差不多,大同小异~~
上一篇介绍了如何使用寥寥几行代码就实现 RBAC 0,解决了权限管理的痛点,这篇将解决另一个痛点:写文档。
前面几章我们讲了项目的初始,连接MySQL,这章我们主要实现增删改查接口,在src下新建user文件夹,我们的所有功能都写在这个文件夹下。
前端做表单的验证基本不用自己写,有很多 validation 的库,大家写的也比较多了。后端的验证大家可能写的相对较少,今天我们就来学下后端框架 Nest.js 如何做参数的验证吧。
NestJS 最早在 2017.1 月立项,2017.5 发布第一个正式版本,它是一个基于 Express,使用 TypeScript 开发的后端框架。设计之初,主要用来解决开发 Node.js 应用时的架构问题,灵感来源于 Angular。在本文中,我将粗略介绍 NestJS 中的一些亮点。
src目录是主要的源码目录,主要由入口文件 main.ts 和 一组 module,service,controller构成。
最近接到一个小需求,需要自己全干(前端+后端),看到群里大家对Nest.js热情都很高,自己也心痒痒,所以就走上了 Nest.js 的不归路~
最近接到一个小需求,需要自己全干(前端+后端),看到群里大家对Nest.js热情都很高,自己也心痒痒,所以就走上了Nest.js的不归路~
最近有个需求需要基于前端技术栈实现一套中间层API接口,用于处理由前端维护的一套JSON配置文件。
主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate
在nest的dto层对参数进行校验时,某个参数可能有多种类型,遇到这种情况你会怎么处理?本文将跟大家分享这个问题的解决方案,欢迎各位感兴趣的开发者阅读本文。
Nestjs 是我见过的,将 Typescript 与 Nodejs Framework 结合的最好的例子。
要说2024 年 Node.js 的 ORM 框架应该选择哪个?毫无疑问选 Prisma。至于为何,请听我细细道来。
最近忙里偷闲,趁着学习Nest的功夫,抽离写了一个Nest模块。这里简单介绍一下什么是Nestjs
当 Node.js Server 项目越来越大时,将数据和数据库整理规范是很难的,所以从一开始就有一个好的开发和项目设置,对你的开发项目的成功至关重要。在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手。
本文为英文译文,感兴趣的同学可以点击文章末尾的“阅读原文” 查看英文原版。 当 Node.js Server 项目越来越大时,将数据和数据库整理规范是很难的,所以从一开始就有一个好的开发和项目设置,对你的开发项目的成功至关重要。在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手。 为了在 Node.js 中 构建 API,我们将使用 Nest.js。它是
微服务是一种应用架构,它将每个应用功能都放在自己的服务中,与其他服务隔离。这些服务是松散耦合的,可独立部署。
前一阵子搞了个nest项目,当我开发完一个功能,打算部署到服务器进行测试时,发现它跑不起来,报了一大堆错缺少了很多依赖包。
最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?[1], 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了类似的疑问,但当时的我没多想,觉得“技多不压身”,反正都是前端,以后肯定用得上,那就学呗。
前几天在项目中集成了swagger,一切准备就绪打算将其部署到服务器时发现并不顺利,访问的时候页面白屏,由于我的nest项目采用的是单文件部署,互联网上没有找到相关的解决方案,于是我就成了第一个吃螃蟹的人。
最近在知乎看到了这么个问题:学完Vue还有必要学习React和Node吗?, 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了类似的疑问,但当时的我没多想,觉得“技多不压身”,反正都是前端,以后肯定用得上,那就学呗——
Nest.js 是一个现代的企业级 Node.js Web 框架,最近在使用 Nest.js 实践一些项目的总结了一些使用心得,也从中学到了很多东西,在这里总结下来和大家分享。
在Java数据校验详解中详细介绍了Java数据校验相关的功能(简称Bean Validation,涵盖JSR-303、JSR-349、JSR-380),本文将在Bean Validation的基础上介绍Spring框架提供的数据校验功能。
首先定义2个实体 Article 和 Category是多对多的关系,一篇文章可以有多个分类,一个分类可以包含多篇文章
Nest.js 是一个现代的企业级 Node.js Web 框架,最近在使用 Nest.js 实践一些项目的总结了一些使用心得,也从中学到了很多东西,在这里总结下来和大家分享。 1. API 设置全局前缀 为 API 设置一个全局前缀可以区分接口版本,如通常会用 /api/v1 作为的 API 端点的前缀。为什么我们需要前缀?好的 API 在设计时要考虑到向后的兼容性。当增强或增加一个 API 时,我们应该确保已经线上使用到该 API 的业务不受影响。简而言之,API 前缀是为了向后兼容。 2. 模块划分
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
注意:如果你是SpringBoot项目,上述依赖不需要导入,因为spring-boot-starter-web包里面有hibernate-validator包,不需要引用hibernate validator依赖。
复杂查询包括分页、模糊查询、多条件筛选、排序等,满足前端对查询的所有诉求。 Nest 复杂查询,主要使用 repository.findAndCount()方法实现。 假设有一个能分页查询所有用户,可根据用户名进行筛选,并对结果按照更新时间倒序排序的需求,它的 controller 如下:
每个前端都应该拥有一个自己的博客、因为它不仅仅是一个博客、更是属于自己的一个工作流、如何来理解这个问题呢、这也就是我要开发一个博客的初衷。
验证数据是贯穿所有应用程序层(从表示层到持久层)的常见任务。通常在每一层实现相同的验证逻辑,这既费时又容易出错。为了避免重复这些验证,开发人员经常将验证逻辑直接捆绑到域模型中,将域类与验证代码混在一起,这些验证代码实际上是关于类本身的元数据,与业务逻辑不相关。
在JavaScript中,修饰器(Decorator)是一种特殊的语法,用于修改类、方法或属性的行为。修饰器提供了一种简洁而灵活的方式来扩展和定制代码功能。本文将详细介绍JavaScript修饰器的概念、语法和应用场景,并提供相关的代码示例。
前言 上一文我通过传递不合法参数触发异常,进行了统一拦截,那么这篇文章主要介绍JSR303,Hibernate Validator详细讲解及如何优雅的对参数进行校验,使用和技巧。
有时候我们希望某些字段是可选的,即在请求体中可以缺失。在Pydantic中,我们可以使用typing.Optional来定义可选字段。下面是一个示例:
要做Node.js编程嘛,Node.js是必须安装的,大家可以到官网(https://nodejs.org)下载安装,推荐安装LTS版本。
GraphQL 在我们之前的项目中的使用情况非常不错,后端可以只需要专注于合理的 Schema 设计与开发,并不需要太关心界面上的功能交互,在前端我们用 Apollo GraphQL 替代了 Redux 结合 React 也获得了很好的开发体验 (还在用 Redux,要不要试试 GraphQL 和 Apollo?) 。
最近在写前面两篇关于依赖注入的文章时,我总是在想用一句怎么的话来简单而朴素的描述依赖注入的概念,让从来没接触过的朋友能比较形象的去理解。想来想去,觉得可以站在依赖注入容器的角度说:
在开发Web应用程序时,参数验证是保证数据有效性和安全性的关键一环。Spring Boot作为一个流行的Java框架,提供了多种方式来进行参数验证。本文将介绍如何在Spring Boot中使用Hibernate Validator进行参数验证,以保证应用程序的健壮性和安全性。
前面一节,我们已经把自由挥洒派的两个类进行了详细的介绍,下面我们来看看规范操作派。
领取专属 10元无门槛券
手把手带您无忧上云