最近接到一个小需求,需要自己全干(前端+后端),看到群里大家对Nest.js热情都很高,自己也心痒痒,所以就走上了 Nest.js 的不归路~
最近接到一个小需求,需要自己全干(前端+后端),看到群里大家对Nest.js热情都很高,自己也心痒痒,所以就走上了Nest.js的不归路~
上一篇介绍了如何使用寥寥几行代码就实现 RBAC 0,解决了权限管理的痛点,这篇将解决另一个痛点:写文档。
单元测试(Unit Testing),是指对软件或项目中最小可测试单元进行正确性检验的测试工作。单元是人为规定最小可测试的功能模块,可以是一个模块,一个函数或者一个类。单元测试需要与模块开发进行隔离情况下进行测试。
上一篇介绍了如何使用中间件、拦截器、过滤器打造日志系统,接下来将介绍后端永远绕不过去的痛:参数验证。
你是否曾经为了验证参数,写了一大堆 if - else ?然后还要判断各种参数类型?相似的结构在不同的方法里判断,却又要复制一遍代码?
什么是依赖注入呢?我们不通过 new 的方式在类内部创建依赖类的对象,而是将依赖的类对象在外部创建好之后,通过构造函数、函数参数等方式传递(或注入)给类来使用。
Nest.js 是一个 Node.js 的后端开发框架,它实现了 MVC 模式,也支持了 IOC(自动注入依赖),比 Express 这类处理请求响应的库高了一个层次。而且也很容易集成 GraphQL、WebSocket 等功能,适合用来做大规模企业级开发。
做过 Java EE 开发的朋友对 Spring 框架应该很熟悉了,它全面的功能和优秀的设计是得以广泛流行的原因。它通过灵活使用控制反转、依赖注入和面向切面编程等设计理念,极大的规范了大型应用的架构,降低了模块之间的耦合度,从而提升了应用的开发效率。在 NodeJS 的世界里,也存在一个全面借鉴 Spring 设计思想的框架,它在 github 上有将近 2w 的 star,npm 的周下载量超过 11w,它就是本文要介绍的 NestJS。
前面几章我们讲了项目的初始,连接MySQL,这章我们主要实现增删改查接口,在src下新建user文件夹,我们的所有功能都写在这个文件夹下。
Nestjs的哲学:完全支持Typescript并解决架构问题,在服务器端提供开箱即用的应用架构,让开发人员和团队能够创造出高可测试、可扩展、松耦合、易维护的应用。
比如 GET 请求 /students 查询所有学生,/students/1 查询 id 为 1 的学生
要做Node.js编程嘛,Node.js是必须安装的,大家可以到官网(https://nodejs.org)下载安装,推荐安装LTS版本。
对于一个严谨的程序员, 我们每开发一个程序, 理论上都要经过单元测试的, 经过单元测试我们可以发现 比较简单的,低级的逻辑性错误, 和sql语句错误等问题, 如果这些错误异常在测试阶段 或者说生产环境出现, 那么说明一个问题,我们的程序 真的不够严谨,所以说单元测试 是一个合格或者说优秀的开发 人员必须具备的 一项技能。此篇不对单元测试 做太多赘述,重点讲述一下 dubbo服务化后我们怎样 简单有效的做好单元测试 dubbo单元测试大概分两种, 1.基于配置; 2.免配置。 相信各位使用过dubbo的看官
在前一篇文章《依赖注入基础篇》中,我们了解了依赖注入和控制反转的基本概念,大致知道它是怎么一回事。并通过简单的例子,学习到了在NestJS框架下如何使用依赖注入功能。今天,我们需要再多花点时间,进一步了解更多关于使用NestJS依赖注入的功能细节。
Magicodes.IE是导入导出通用库,支持Dto导入导出以及动态导出,支持Excel、Word、Pdf、Csv和Html。已加入NCC开源组织。
前面两篇文章分别介绍了class-validator和class-transformer的使用,接着聊一下如何在nestjs中使用这两个包。
当 Node.js Server 项目越来越大时,将数据和数据库整理规范是很难的,所以从一开始就有一个好的开发和项目设置,对你的开发项目的成功至关重要。在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手。
本文为英文译文,感兴趣的同学可以点击文章末尾的“阅读原文” 查看英文原版。 当 Node.js Server 项目越来越大时,将数据和数据库整理规范是很难的,所以从一开始就有一个好的开发和项目设置,对你的开发项目的成功至关重要。在这篇文章中,向你展示是如何设置大部分 Nest.js 项目的,我们将在一个简单的 Node.js API 上工作,并使用 PostgreSQL 数据库作为数据存储,并围绕它设置一些工具,使开发更容易上手。 为了在 Node.js 中 构建 API,我们将使用 Nest.js。它是
Swagger 是一组围绕 OpenAPI 规范构建的开源工具,可以帮助您设计、构建、记录和使用 REST API。主要的 Swagger 工具 包括:
本文介绍今年上半年使用的的一些技术,做一些个人的学习记录,温故而知新。主要包含了Nestjs、TypeGraphQL、TypeORM相关的知识。本文示例代码以提交到github,可以在这里查看。
在 Nest.js 中,管道(Pipelines) 是一种强大的功能,用于预处理进入控制器方法的请求数据,如请求体、查询参数、路径参数等。管道允许开发者在数据到达控制器方法之前对数据进行转换、验证、清理或执行其他预处理任务。这使得 Nest.js 应用更加健壮、可维护和一致。
本文介绍了单元测试与重构在.NET平台下的实现,通过示例展示了如何使用单元测试框架进行测试,以及如何使用重构方法对代码进行整理和优化。同时探讨了使用单元测试与重构在.NET平台下的优点,包括提高代码质量、降低技术债务、提高开发效率以及保证代码可维护性等方面。
Magicode.IE,导入导出通用库,支持Dto导入导出、模板导出、花式导出以及动态导出,支持Excel、Csv、Word、Pdf和Html。
大概率你听说过 GraphQL,知道它是一种与 Rest API 架构属于 API 接口的查询语言。但大概率你也与我一样没有尝试过 GraphQL。
每个前端都应该拥有一个自己的博客、因为它不仅仅是一个博客、更是属于自己的一个工作流、如何来理解这个问题呢、这也就是我要开发一个博客的初衷。
Nest.js 久有耳闻了,但是一直没有时间去真正学习他,一直鸽子到了现在。我想借着学习 nest 的先进思想,来重构我的博客后端。
在 Nestjs 中管道是具有 @Injectable() 装饰器且已实现 PipeTransform 接口的类。
导入导出通用库,支持DTO导入导出以及动态导出,支持Excel、Word、PDF、CSV和HTML。已加入ncc开源组织.
本文主要探讨了在.NET应用架构设计中如何利用领域驱动设计(DDD)调整传统三层架构,以面向查询的领域模型为核心,实现一个可扩展、可维护的架构。通过加入领域模型、应用层、协调层、数据传输对象等设计,简化了业务模块之间的交互,提高了系统的性能和可维护性。同时,本文还介绍了在领域模型中运用模式、重构、单元测试等方法,进一步提升了系统的灵活性和可扩展性。
为了创建一个基本的控制器,我们必须将元数据附加到类中。Nest 知道如何映射我们的控制器到相应的路由。
随着互联网日新月异的发展,传统的软件架构已经满足不了庞大的用户需要和服务可靠性以及稳定性,SOA概念提出后,很多公司都在考虑做服务化,按照业务模块划分,每一个模块都是一个独立的工程,并且能够提供服务,热点模块也可以部署多个(支付场景)来提高服务可靠性和稳定性,目前比较常见的有dubbo(阿里开源),motan(新浪微博开源),
2020.11.20 To fix The Mapping Values of The total length of a Data Validation list always exceed 255 characters (# 196) (https://github.com/dotnetcore/Magicodes.IE/issues/196)
最近在做一款轻量级IM产品,后端技术栈框架使用了nodejs + nestjs作为服务端。同时,还需要满足一个服务同时支持HTTP服务调用以及WebSocket服务调用,此文主要记录本次搭建过程,以及基本的服务端设计。
当我们在dto层定义好参数字段后,客户端在调用时传入了未定义的字段,此时我们需要报错告知客户端这个字段不存在,在nest中默认不会报错,本文将分享这个问题的解决方案,欢迎各位感兴趣的开发者阅读本文。
在我们实际的业务开发中,我们可以看到后端接口返回格式都有一定的要求,假如我们统一规定接口的统一返回格式为:
Text Blocks最开始是个JDK 14引进的,当时为预览版功能,在JDK 15中被正式确定。
https://github.com/dotnetcore/Magicodes.IE
领取专属 10元无门槛券
手把手带您无忧上云