Nest-cli内容总结分享

前言


🤡一般我们使用框架开发创建项目的时候都使用脚手架来搭建项目,当然Nest也提供了对应的脚手架那就是Nest-cli,我们今天在《Nest通关秘籍》阅读的基础上来对这部分内容进行汇总一下。

一.Nest-cli命令总览


二.什么是Schema?


🫥Schema(模式):是用于描述数据结构、数据类型和数据关系的组织结构的概念,简单举个例子理解就是用来定义某种数据必须有某个字段,字段必须为某个类型,其实我们对这个东西使用的非常熟悉,比如我们在Vue对props传递的数据进行限制的方式就是Schema的方式。

js 复制代码
  props: {
    colorBar: {
      type: String, // 必须为string
      default: '#d72b18' // 默认为XXX
    },
  },

在Web开发中最常用的就是JSON Schema其实就是使用JSON格式对数据进行限制,如下,其余还有XML Schema等等。

json 复制代码
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "age": {
      "type": "integer"
    },
    "active": {
      "type": "boolean"
    }
  },
  "required": ["id", "username", "email"]
}

三.什么是controller-service-module-dto...


🤡Module(模块)是应用程序的基本组织单位,它封装了相关的功能和组件。每个模块都有自己的作用域,包含了控制器、服务、提供者等。模块可以帮助我们将应用程序的不同功能划分为独立的组件,以便更好地管理和组织代码。

🫥Controller(控制器)是处理HTTP请求和响应的组件。它包含了一系列的路由处理器(路由处理函数),用于处理特定的URL请求,并返回相应的HTTP响应。控制器负责接收请求、处理业务逻辑、调用相应的服务和返回响应。

🥱Service(服务)是处理业务逻辑的组件。它包含了应用程序的核心功能和业务规则的实现。服务被控制器调用,用于执行特定的任务和提供相应的功能。服务可以封装复杂的业务逻辑,并与数据库、外部服务等进行交互。

🐻DTO(数据传输对象)是用于在不同层之间传输数据的对象。DTO通常用于在控制器和服务之间传递数据,以及在服务和数据库之间传递数据。DTO可以在不同层之间定义数据的结构和约束,以确保数据的正确性和一致性。


💡Tips:在MVC架构中,模块的概念通常不是MVC架构的核心概念,Controller(控制器):在MVC架构中,控制器属于控制层(Controller Layer),Service(服务):在MVC架构中,服务通常属于模型层(Model Layer)

四.总结与扩展


😎在nest-cli这一章节基本涉及的问题就这么多,但是纸上得来终觉浅,绝知此事要躬行,还是要亲手试试看的,在服务端的架构模型是mvc我们来看下它各层的内容。

  1. Model(模型):代表应用程序的数据层。模型用于表示数据的结构、业务逻辑以及与数据相关的操作和操作。它负责处理数据的存储、读取、更新和删除,以及与数据相关的业务规则。
  2. View(视图):代表应用程序的用户界面。视图负责将模型中的数据可视化,并向用户展示。它负责呈现数据、接收用户输入,并将用户的操作传递给控制器。
  3. Controller(控制器):代表应用程序的控制逻辑。控制器负责接收用户的输入、处理业务逻辑,并根据需要更新模型和视图。它作为模型和视图之间的协调者,根据用户的操作调用适当的模型方法来更新数据,并选择适当的视图进行渲染。

🐻Nest-cli的相关内容就到这里啦,让我们再接再厉,共同进步~

相关推荐
这孩子叫逆3 分钟前
Spring Boot项目的创建与使用
java·spring boot·后端
coderWangbuer1 小时前
基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
spring boot·后端·sql
攸攸太上1 小时前
JMeter学习
java·后端·学习·jmeter·微服务
Kenny.志1 小时前
2、Spring Boot 3.x 集成 Feign
java·spring boot·后端
sky丶Mamba2 小时前
Spring Boot中获取application.yml中属性的几种方式
java·spring boot·后端
千里码aicood3 小时前
【2025】springboot教学评价管理系统(源码+文档+调试+答疑)
java·spring boot·后端·教学管理系统
程序员-珍3 小时前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
数字扫地僧4 小时前
HBase与Hive、Spark的集成应用案例
后端
架构师吕师傅4 小时前
性能优化实战(三):缓存为王-面向缓存的设计
后端·微服务·架构