当前位置: 首页 > article >正文

NestJS——创建项目、编写User模块

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展
📃个人状态: 研发工程师,现效力于中国工业软件事业
🚀人生格言: 积跬步至千里,积小流成江海
🥇推荐学习:🍍前端面试宝典 🎨100个小功能 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js实战 🍒Three.js

🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

文章目录

    • 创建 NestJS 项目
    • Hello World!
    • User 模块
    • 总结

创建 NestJS 项目

全局安装 nestjs 脚手架。

cnpm i -g @nestjs/cli

查看 nest 版本。

nest --version

在这里插入图片描述

创建名为 nestjs-demo 的项目。

nest new nestjs-demo

等待一会儿,显示如下内容,则安装成功。

在这里插入图片描述


Hello World!

打开我们刚刚创建好的 nestjs-demo 项目,终端键入如下命令运行。

npm	start:dev

在浏览器打开 3000 端口。

在这里插入图片描述


User 模块

首先,我们调整项目内容如下。

在这里插入图片描述

创建 User 模块。

// 创建 User 模块
nest g module user// 创建 User 控制器,不创建测试文件
nest g controller user --no-spec// 创建 User 服务,不创建测试文件
nest g service user --no-spec

我们将得到如下的目录结构。

在这里插入图片描述

main.ts 中我们为所有注册的路由设置一个全局前缀 /api

import { NestFactory } from "@nestjs/core";
import { AppModule } from "./app.module";async function bootstrap() {const app = await NestFactory.create(AppModule);// 为所有注册的路由设置一个全局前缀app.setGlobalPrefix("api");await app.listen(3000);
}
bootstrap();

user.controller.ts 中添加 获取用户信息添加用户信息 的控制。

import { Controller, Get, Post } from "@nestjs/common";
import { UserService } from "./user.service";@Controller("user")
export class UserController {constructor(private userService: UserService) {}@Get()getUsers(): any {return this.userService.getUsers();}@Post()addUser(): any {return this.userService.addUser();}
}

user.service.ts 中添加相应的响应逻辑。

import { Injectable } from "@nestjs/common";@Injectable()
export class UserService {getUsers(): any {return {code: 0,data: [],msg: "请求用户列表成功",};}addUser(): any {return {code: 0,data: {},msg: "添加用户成功",};}
}

在这里插入图片描述

在这里插入图片描述


总结

本篇文章,我们学习了如何创建 NestJS 项目,认识了创建模块的方式,并且编写了关于 User 模块的两个请求(1个get请求,1个post请求)。

好啦,本篇文章到这里就要和大家说再见啦,祝你这篇文章阅读愉快,你下篇文章的阅读愉快留着我下篇文章再祝!


参考资料:

  1. NestJS 百度百科
  2. NestJS 从入门到实战

在这里插入图片描述


相关文章:

NestJS——创建项目、编写User模块

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

《Python Web部署应知应会》No2:如何基于FastAPI 和 OLLAMA 架构实现高并发 AI 推理服务

《Python Web部署应知应会》No2:如何基于FastAPI 和 OLLAMA 架构实现高并发 AI 推理服务(上) 摘要: 在 FastAPI 和 OLLAMA 架构中实现高并发 AI 推理服务,并优化性能指标采集和缓存策略,可以充分利用 asy…...

NUUO摄像头debugging_center_utils命令执行漏洞

免责声明:本号提供的网络安全信息仅供参考,不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我联系,我将尽快处理并删除相关内容。 漏洞描述 NUUO NVR是中国台湾省NUUO公司旗…...

uv 命令用conda命令解释

uv:安装 | uv-zh-cn 功能 | uv-zh-cn #showkey -a 可看按键的"\eOP"转义序列是啥# 绑定快捷键 f1 到 source .venv/bin/activate函数 bind "\eOP": "source .venv/bin/activate " #conda activate# 绑定快捷键 f2 到uv add函数 …...

解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误

解决【vite-plugin-top-level-await】 插件导致的 Bindings Not Found 错误 环境设置 操作系统: macOS硬件平台: M1 Pro前端框架: Vue 3Node.js 版本: 20 在使用 Vue 项目时,我们尝试集成 vite-plugin-top-level-await 插件以支持顶层 await 语法。然而&#xff…...

2.pycharm部署Ai - 编程好助手

一、pycharm安装continue插件 1.提前安装好pycharm,并双击打开 2.File – Setting 3.Plugins – 搜索Continue , 点击Install安装 4.点ok 二、获取硅基流动API 1.登入网站:https://siliconflow.cn/zh-cn/#/,并注册登入 2.获取AP…...

uniapp + Axios + 小程序封装网络请求

前言 小程序自带的网络请求使用起来比较麻烦,不便于管理,就需要封装网络请求,减少繁琐步骤,封装最终效果,根据类别将网络请求封装在文件中,使用得时候调用文件名名称加文件中得自定义名称,就可…...

初始数据库--MySQL

一,数据库(DataBase)概述 思考程序开发中数据存储问题? 变量 int c 10; 对象{名字,价格,颜色} 集合类-->对象 以上方式存储数据都是在内存中存储 程序运行结束后数据都释放了 …...

ENSP学习day12

链路聚合–LACP(Link Aggregation Control Protocol) 链路聚合是指将多条物理链路通过一种技术进行绑定,从而形成一个逻辑上更高带宽、更可靠的链路。这种技术能够提高网络传输速率和可靠性,同时实现负载均衡。链路聚合可以在不同…...

【LeetCode 题解】算法:29.两数相除

在算法的世界里,常常会出现一些打破常规、挑战思维的题目。LeetCode 第 29 题 “两数相除” 便是其中之一。这道题不仅要求我们在不能使用乘法、除法和取余运算的前提下实现两数相除,还需要处理 32 位有符号整数的溢出问题,对编程者的逻辑思维…...

打包python文件生成exe

下载PyInstaller 官网 pip install pyinstaller验证是否安装成功 pyinstaller --version打包 pyinstaller "C:\Documents and Settings\project\myscript.py"会生成.spec,build,dist三项,其中build,dist为文件夹,dist是最后的可执行文件&a…...

【NLP】13. NLP推理方法详解 --- 穷举和贪心搜索

NLP推理方法详解 — 穷举和贪心搜索 在自然语言处理(NLP)任务中,推理(Inference)是指在给定模型的情况下,找到最可能的输出序列。由于模型通常是神经网络,它会为每个可能的输出分配一个概率&am…...

Redis延时队列在订单超时未报到场景的应用分享

一、引言 在电商、医疗预约等众多业务场景中,经常会遇到需要处理超时任务的情况。比如医疗预约订单,如果患者在支付成功后,到了预约结束时间还未报到,系统需要自动取消订单。为了实现这样的功能,我们可以利用 Redis 延…...

精心整理-2024最新网络安全-信息安全全套资料(学习路线、教程笔记、工具软件、面试文档).zip

2024最新网络安全-信息安全全套资料(学习路线、教程笔记、工具软件、面试文档),视频教程文档资料共55GB。 一、网络安全-信息安全学习路线 0、网络安全-信息安全思维导图.jpg 1、网络安全大师课 V2024.pdf 2、网络安全行业白皮书.pdf 3、网络…...

多人协同进行qt应用程序开发应该注意什么?

多人协同进行Qt应用程序开发的注意事项 多人协同开发Qt应用程序时,需要注意以下几个关键方面以确保开发效率和代码质量: 1. 代码版本控制 使用Git:建立合理的分支策略(如Git Flow).gitignore配置:确保忽…...

8.4考研408简单选择排序与堆排序知识点深度解析

考研408「简单选择排序与堆排序」知识点全解析 一、简单选择排序 1.1 定义与核心思想 简单选择排序(Selection Sort)是一种选择排序算法,其核心思想是: 每趟选择:从待排序序列中选择最小(或最大&#x…...

C++中ShellExecute函数使用方法说明,如果一开始参数为隐藏,后面还能再显示出来吗

文章目录 一、ShellExecute基础用法函数原型关键参数 nShowCmd示例代码:启动程序并隐藏窗口 二、隐藏后能否重新显示窗口直接答案 三、实现隐藏后显示窗口的步骤1. 获取目标窗口句柄2. 显示窗口 四、完整流程示例五、注意事项六、总结 在C中使用ShellExecute函数时&…...

MySQL数据库精研之旅第五期:CRUD的趣味探索(上)

专栏:MySQL数据库成长记 个人主页:手握风云 目录 一、CRUD简介 二、Create新增 2.1. 语法 2.2. 示例 三、Retrieve检索 3.1. 语法 3.2. 示例 一、CRUD简介 CURD是对数据库中的记录进行基本的增删改查操作:Create(创建)、Retrieve(检索…...

【文件上传】✈️大文件的上传服务器的简单实现

💥💥✈️✈️欢迎阅读本文章❤️❤️💥💥 🏆本篇文章阅读大约耗时五分钟。 ⛳️motto:不积跬步、无以千里 📋📋📋本文目录如下:🎁🎁&a…...

Windows DOS窗口12个命令

DOS 命令是指在 Windows 命令提示符(CMD)中使用的命令行工具,源于早期的 Disk Operating System。虽然现代 Windows 系统更多使用图形界面,但命令提示符仍然是测试人员的重要工具。测试人员通常需要执行文件操作、测试网络连接、监…...

AI加Python的文本数据情感分析流程效果展示与代码实现

本文所使用数据来自于梯田景区评价数据。 一、数据预处理 数据清洗 去除重复值、空值及无关字符(如表情符号、特殊符号等)。 提取中文文本,过滤非中文字符。 统一文本格式(如全角转半角、繁体转简体)。 中文分词与去停用词 使用 jieba 分词工具进行分词。 加载自定义词…...

Go语言手动内存对齐的四大场景与实践指南

Go语言手动内存对齐的四大场景与实践指南 引言:Go的内存对齐机制 Go语言通过编译器自动处理内存对齐问题,开发者通常无需关心底层细节。然而,在特定场景下,手动干预内存对齐是避免程序崩溃或数据错乱的必要操作。本文将深入探讨G…...

PDF多表格结构识别与跨表语义对齐:基于对抗迁移的鲁棒相似度度量模型

文章目录 一. 项目结构二.流程分析2.1 批处理器核心代码解析 三. 跨页表格相似度匹配原理3.1 表头内容相似度-特征向量归一化3.2 表头内容相似度-余弦相似度3.3 定时缓存清理 ocr扫描有其局限性。对于pdf文本类型这种pdfbox,aspose-pdf,spire直接提取文本…...

docker启动nacos+redis+seata

docker启动nacos 最新版本的nacos需要再启动的时候设置mysql的一些属性,【也可以先启动nacos,再到配置文件中找到application.yml设置mysql的一些属性】。 1.如果直接启动nacos设置的mysql我们需要确定两个容器的ip都是一样的。 查看mysql容器中的ip命令…...

从 select 到 epoll:拆解 I/O 多路复用的演进与实战

目录 一、引言:为什么需要 I/O 多路复用? 二、select 1.函数介绍 2.原理 3.样例代码 4.优缺点总结 三、poll 1.函数介绍 2.样例代码 3.优缺点总结 四、epoll 1.函数介绍 2.原理 3.LT和ET两种工作模式 4.优缺点总结 五、核心机制对比&…...

Go后端架构探索:从 MVC 到 DDD 的演进之路

Go语言 MVC 与 DDD 分层架构详细对比 MVC和DDD是后台开发两种流行的分层架构思想,MVC(Model-View-Controller)是一种设计模式,主要用于分离用户界面、业务逻辑和数据模型,便于分层解耦,而DDD(领…...

【力扣hot100题】(017)矩阵置零

还是挺简单的&#xff0c;使用哈希表记录需要置换的行列即可&#xff0c;这样就可以避免重复节省时间。 class Solution { public:void setZeroes(vector<vector<int>>& matrix) {unordered_set<int> row;unordered_set<int> line;for(int i0;i&l…...

One Commander 3,文件管理新体验

One Commander 3 是一款集多功能于一体 Windows 10/11的文件管理工具&#xff0c;其设计目的在于为用户带来多元化的操作体验。这款工具通过支持多栏界面布局&#xff0c;让用户能够迅速且高效地组织和管理文件。此外&#xff0c;它还提供了多主题选项和多种图标集&#xff0c;…...

Ubuntu 下 nginx-1.24.0 源码分析

main 函数在 src\core\nginx.c int ngx_cdecl main(int argc, char *const *argv) {ngx_buf_t *b;ngx_log_t *log;ngx_uint_t i;ngx_cycle_t *cycle, init_cycle;ngx_conf_dump_t *cd;ngx_core_conf_t *ccf;ngx_debug_init();if (ngx_strerror_in…...

c# ftp上传下载 帮助类

工作中FTP的上传和下载还是很常用的。如下载打标数据,上传打标结果等。 这个类常用方法都有了:上传,下载,判断文件夹是否存在,创建文件夹,获取当前目录下文件列表(不包括文件夹) ,获取当前目录下文件列表(不包括文件夹) ,获取FTP文件列表(包括文件夹), 获取当前目…...