NestJS入门9:管道入门

这篇具有很好参考价值的文章主要介绍了NestJS入门9:管道入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前文参考

NestJS入门1:创建项目

NestJS入门2:创建模块

NestJS入门3:不同请求方式前后端写法

NestJS入门4:MySQL typeorm 增删改查

NestJS入门5:加入Swagger

NestJS入门6:日志中间件

NestJS入门7:增加异常过滤器

NestJS入门8:拦截器

本文代码基于上一篇文章《NestJS入门8:拦截器》

本文仅对ParseIntPipe管道做简单说明,这个管道的作用是对输入数据转换为所需要的类型(int)

1. 原写法

use.controller.ts中增加一行打印id的类型
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript

postman
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript
打印如下:
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript

2. 管道写法

注:不需要npm 安装任何工具。
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript
Postman Get请求:
http://localhost:3000/user/1

打印如下,管道将string类型的id转换为数字类型
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript

3. 异常验证

对use.controller.ts代码做下小修改,如下:

  @Get(':id')
  @ApiOperation({summary:'查询用户'})
  findOne(@Param('id', new ParseIntPipe()) id){
    
    console.log(typeof id);
    return this.userService.findOne(+id);
  }

common/filter/http-exception/http-exception.filter.ts 修改为:
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript

postman发送及返回如下:
NestJS入门9:管道入门,NestJS,node.js,javascript,typescript
可见ParseIntPipe内部已做了异常处理,当为非整数时,自动触发了异常输出。文章来源地址https://www.toymoban.com/news/detail-835843.html

到了这里,关于NestJS入门9:管道入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node.js -- JavaScript的运行环境

    HTML : 骨架 CSS :外观 JS : 灵魂 JavaScript可以在浏览器中被执行的原因是浏览器里面都有一个JavaScript的解析引擎 浏览器 解析引擎 Chrome V8 Firefox OdinMonkey (奥丁猴) Safri JSCore IE Chakra(查克拉) 每个浏览器都内置了DOM、BOM这样的API函数。 V8引擎负责解析和执行JavaScript代码 内置

    2023年04月10日
    浏览(36)
  • Node.js | JavaScript也能写后端?

    本文已收录于专栏 ⭐️ 《深入浅出Node.js》⭐️ 语雀前端知识沉淀 如果读者是一个前端开发的同学,不知道你有没有过这样的烦恼: 想做一个全栈的项目,但苦于不懂像 PHP、Python 或 Ruby 等动态编程语言。 如果专门学习的话,又觉得学习成本太大,不学的话服务端项目没办

    2024年02月01日
    浏览(49)
  • 学习Node.js需要哪些JavaScript知识

    Lexical Structure ( 词法 ) JavaScript 的词法(lexical grammar)。ECMAScript 源码文本会被从左到右扫描 ,并被转换为一系列的输入元素,包括 token、控制符、行终止符、注释和空白符。ECMAScript 定义了一些、字面量以及行尾分号补全的规则。 Expressions ( 表达式 ) JavaScript 中的

    2024年02月03日
    浏览(42)
  • 运行 Node.js 与浏览器 JavaScript

    浏览器和 Node.js 都使用 JavaScript 软件语言 - 但字面上的 运行时环境 是不同的。 Node.js(又名服务器端 JavaScript)与客户端 JavaScript 有许多相似之处。它也有很多差异。 尽管两者都使用 JavaScript 作为软件语言,但我们可以重点关注一些关键差异,这些差异使两者之间的软件开发

    2024年02月09日
    浏览(51)
  • 前后端交互系统:在Node.js中运行JavaScript

    在Node.js中运行JavaScript,您需要编写适用于服务器端的代码,而不是浏览器端的代码。以下是一些示例代码,用于在Node.js中创建一个简单的HTTP服务器并在浏览器中访问它: 将上述代码保存到一个名为main.js的文件中,然后在命令行中运行 node .main.js。这将创建一个简单的HTT

    2024年02月08日
    浏览(43)
  • TypeScript入门指南:从JS到TS的转变

    上一篇文章中我提到了会设立专栏去专门跟大家分享一下我在 TypeScript 学习中的收获和笔记,以及一些经验分享,专栏已经创建,从这篇开始,每天都会更新一篇文章跟大家分享,想要学习探讨的小伙伴可以持续关注一下。 在 Web 前端开发中,JavaScript(JS)一直是主流的编程

    2024年02月09日
    浏览(39)
  • Node.js入门之 - 初识Node.js

    1. 起源 Node.js 起源于 2009 年,由 Ryan Dahl 开发,起初的目的是为了解决一些网络应用运行缓慢的问题。 在 Node.js 之前,一般会采用 LAMP(Linux + Apache + MySQL + PHP)或者 MEAN等技术栈开发 web 应用。这些技术通常会采用请求-响应模型: 客户端(浏览器)发送一个请求 请求被送到服务端(Apach

    2024年02月09日
    浏览(42)
  • 将 Jupyter Notebook 用于 JavaScript (使用 Node.js 或 Deno 环境)

    熟悉 Python 的读者, 可能同样对 IPython 或 Jupyter 等项目 (如 Jupyter Notebook) 有所耳闻. 正如其名, IPython 项目让 Python 这门语言变得 “interactive”; 如: 交互式的 Shell 程序, 对交互式数据可视化以及 GUI 工具集的支持等等 (具体可见 IPython 项目的网站). 比如在 Notebook 中, 用户可以实现

    2024年02月07日
    浏览(44)
  • Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅

    Node.js作为一个基于Chrome V8引擎的JavaScript运行时环境,已经成为现代web开发中不可或缺的重要工具之一。它的出现极大地扩展了JavaScript的应用范围,使得开发者可以利用同一种语言来编写前端和后端的代码,从而实现全栈开发。Node.js具有非阻塞I/O、事件驱动的特性,使得它能

    2024年04月10日
    浏览(48)
  • Node.js和浏览器在JavaScript运行环境方面存在一些区别和联系

    Node.js和浏览器在JavaScript运行环境方面确实存在一些区别和联系。 首先,让我们理解一下Node.js和浏览器的运行环境。Node.js是一个基于Chrome的V8引擎的服务器端JavaScript运行环境,允许开发者在服务器端运行JavaScript代码,并且提供了一系列的内置模块,如fs模块用于文件系统操

    2024年03月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包