NestJS是什么
Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架
- JS 届的 Spring 框架
- 支持 TypeScript 语言
- 构建高效可伸缩
- 装饰器风格
- 模块加载采用依赖注入 IOC 方式 (Spring 与 AngularJS)
- 配套功能齐备(鉴权、文档、微服务、CLI、Graph QL)
可能Node大家了解最多的后端框架是express,那么这里通过图来进行对比
Express 对比 NestJS
新建一个NestJS
全局安装nest脚手架
npm i -g @nestjs/cli
创建nest项目
nest new demo-server
包管理工具我们选择pnpm
完成是这样的
启动服务
目录结构
src
├── app.controller.spec.ts
├── app.controller.ts # 控制器
├── app.module.ts # 模块定义
├── app.service.ts # service层
└── main.ts # 入口
我们现在直接修改内容是无法更新的,因为我们启动的是start,若是我们想要实时更新,我们需要启动strat:dev
我们现在去更改内容
现在就是实时变化的了
RESTful API
表征状态传输 (REST) 缩写:Representational State Transfer 是一种软件架构,决定了 API 的工作条件。REST 最初作为管理复杂网络(例如互联网)上的通信的指南而建立。您可以使用基于 REST 的架构为高性能和可靠的大规模通信提供支持。您可以轻松应用和修改此种架构,为任何 API 系统带来可见性和跨平台可能性。
起源
REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。
Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。
Representational State Transfer 表现层状态转化
= Resources ( 省略 ) + Representational (表现) + State Transfer (状态转换)
-
资源 Resources
- 网络上的实体, 一段文本、一张照片、一张图片
-
表现层 Representation
- 我们把"资源"具体呈现出来的形式,叫做它的"表现层"(Representation)。
- 用户应该是 xml格式 、json格式、html格式
- 应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述。
-
状态转化 State Transfer
-
如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。
- HTTP动词:表示一个动作
- GET:读取(Read)
- POST:新建(Create)
- PUT:更新(Update)
- PATCH:更新(Update),部分更新
- DELETE:删除(Delete)
- HTTP动词:表示一个动作
-
如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。
URL设计
- 宾语:表示动作的目标对象
- 是一个名词
// 推荐
GET /users
// 不推荐
GET /getUsers
通常是复数
// 推荐
GET /users
GET /users/1
// 不推荐
GET /user
GET /user/1
避免多级
// 推荐
GET /authors/12?categories=2
// 不推荐
GET /authors/12/categories/2
经典RESTAPI
github API
生成一套Restful风格接口
nest g resource xxx
这里我生成一个user
报错,不用管,直接pnpm i就行,这是nest脚手架的问题
文章来源:https://www.toymoban.com/news/detail-403491.html
生成成功
我们可以直接访问
文章来源地址https://www.toymoban.com/news/detail-403491.html
到了这里,关于NestJS入门及实战(一)NestJS入门、RESTful API的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!