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

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 从入门到实战

在这里插入图片描述


相关文章:

  • 谷歌浏览器安装Vue开发者工具指南
  • 网络安全中的“后门”:概念、类型、作用与攻防技术
  • 横扫SQL面试——用户留存率问题
  • 【信奥一本通提高篇】基础算法之贪心算法
  • 程序自动化填写网页表单数据
  • 文件分片上传
  • 【Linux】ELF、BIN、PBP、MAP文件查看
  • 基于SpringBoot的失物招领平台(源码+数据库)
  • 基于python大数据的商品数据可视化分析系统
  • 网红酒店|基于java+vue的网红酒店预定系统(源码+数据库+文档)
  • SpringCloud-Nacos
  • 【Sa-Token】学习笔记 01 - SaToken介绍快速上手
  • C语言水仙花续集2
  • 打车APP订单系统逻辑梳理与实现
  • Spring IOC实战:解密Bean的九种诞生方式
  • 消息队列篇--通信协议篇--理解HTTP、TLS和TCP如何协同工作
  • HarmonyOSNext_API16_媒体查询
  • [Python] 贪心算法简单版
  • MySQL-5.7.37安装配置(Windows)
  • 从Web到桌面:深入解析Electron的技术架构与应用实践
  • 网站建站步骤流程/seo网站优化推广怎么样
  • 公司必备的几个部门/充电宝关键词优化
  • 做网站后端需要什么语言/网址查询域名
  • 软件开发工资一般多少深圳/玉溪seo
  • 宝鸡市住房与城乡建设厅网站/百度安装免费下载
  • nodejs可以做网站吗/今日新闻最新消息50字