NestJS入门及实战(一)NestJS入门、RESTful API

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

NestJS是什么

Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架

  • JS 届的 Spring 框架
  • 支持 TypeScript 语言
  • 构建高效可伸缩
  • 装饰器风格
  • 模块加载采用依赖注入 IOC 方式 (Spring 与 AngularJS)
  • 配套功能齐备(鉴权、文档、微服务、CLI、Graph QL)

可能Node大家了解最多的后端框架是express,那么这里通过图来进行对比

Express 对比 NestJS

NestJS入门及实战(一)NestJS入门、RESTful API

新建一个NestJS

全局安装nest脚手架
npm i -g @nestjs/cli

创建nest项目
nest new demo-server

包管理工具我们选择pnpm
NestJS入门及实战(一)NestJS入门、RESTful API
完成是这样的
NestJS入门及实战(一)NestJS入门、RESTful API
启动服务
NestJS入门及实战(一)NestJS入门、RESTful API
目录结构

src
 ├── app.controller.spec.ts
 ├── app.controller.ts  # 控制器
 ├── app.module.ts      # 模块定义
 ├── app.service.ts     # service层
 └── main.ts            # 入口

NestJS入门及实战(一)NestJS入门、RESTful API
NestJS入门及实战(一)NestJS入门、RESTful API

我们现在直接修改内容是无法更新的,因为我们启动的是start,若是我们想要实时更新,我们需要启动strat:dev

NestJS入门及实战(一)NestJS入门、RESTful API
我们现在去更改内容
NestJS入门及实战(一)NestJS入门、RESTful API
现在就是实时变化的了
NestJS入门及实战(一)NestJS入门、RESTful API

RESTful API

表征状态传输 (REST) 缩写:Representational State Transfer 是一种软件架构,决定了 API 的工作条件。REST 最初作为管理复杂网络(例如互联网)上的通信的指南而建立。您可以使用基于 REST 的架构为高性能和可靠的大规模通信提供支持。您可以轻松应用和修改此种架构,为任何 API 系统带来可见性和跨平台可能性。

起源

REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。

NestJS入门及实战(一)NestJS入门、RESTful API

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)

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

这里我生成一个userNestJS入门及实战(一)NestJS入门、RESTful API

NestJS入门及实战(一)NestJS入门、RESTful API
报错,不用管,直接pnpm i就行,这是nest脚手架的问题
NestJS入门及实战(一)NestJS入门、RESTful API

NestJS入门及实战(一)NestJS入门、RESTful API
生成成功
NestJS入门及实战(一)NestJS入门、RESTful API
我们可以直接访问
NestJS入门及实战(一)NestJS入门、RESTful API文章来源地址https://www.toymoban.com/news/detail-403491.html

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

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

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

相关文章

  • NestJS入门6:日志中间件

    前文参考: NestJS入门1 NestJS入门2:创建模块 NestJS入门3:不同请求方式前后端写法 NestJS入门4:MySQL typeorm 增删改查 NestJS入门5:加入Swagger ​ ​ ​ logger.middleware.ts修改为: ​     app.modules.ts修改为: ​  可改为星号通配符,表示任意路由 使用postman或swagger测试,后端可以看

    2024年02月21日
    浏览(49)
  • 什么是RESTful API

    RESTful API是利用HTTP请求访问或使用数据的应用程序接口(API)的体系结构样式。这些数据可用于GET,PUT,POST和DELETE数据类型,这些数据类型指的是与资源相关的操作读取、更新、创建和删除。 网站的API是允许两个软件程序相互通信的代码。API详细说明了开发人员编写从操作

    2024年02月16日
    浏览(43)
  • RESTful 风格是指什么

    RESTful( Representational State Transfer )是一种基于 HTTP 协议的软件架构风格,用于设计网络应用程序的接口。它的设计理念是利用 HTTP 协议中的方法(如 GET、POST、PUT、DELETE 等)来对资源进行 CRUD ,使得客户端和服务器之间的通信变得简单、灵活和可扩展。 下面是 RESTful 风格的

    2024年02月21日
    浏览(44)
  • 网络请求实战-RESTFUL约定和Postman工具

    表现层状态转化(Representational state transfer)   资源、表示和转换 资源(Resource) 服务端的一个资源 拥有URL 表示(Representation) 服务端的资源在客户端的表示 客户端拥有操作服务端资源的方法 转换(Transfer) 客户端收到新的表示,从而向用户展示新的内容 约定 资源命名

    2023年04月20日
    浏览(31)
  • 深入探讨Spring Boot:实现一个完整的RESTful应用程序

    在这篇博客中,我们将深入探讨如何使用Spring Boot构建一个完整的RESTful应用程序,数据库选择MySQL。我们将通过实现一个简单的用户管理系统来演示Spring Boot的强大功能。 首先,访问Spring Initializr,选择以下依赖项: Web:用于创建Web应用程序 JPA:用于访问数据库 MySQL:用于连

    2024年02月03日
    浏览(49)
  • Python web实战之Django 的 RESTful API 设计详解

      : Python, Web 开发, Django, RESTful API 1.1 什么是API? API是应用程序编程接口(Application Programming Interface)的缩写。它是一种定义了不同软件组件之间交互方式的规范。API允许不同的应用程序之间进行通信和数据交换,使得开发者能够利用其他应用程序提供的功能和数据,

    2024年02月14日
    浏览(48)
  • WebGL+Three.js入门与实战——给画布换颜色、绘制一个点、三维坐标系

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

    2024年02月04日
    浏览(62)
  • Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    REST及RESTful API Web Service XML解析 Mock Server REST:表述性状态转移或表现层状态转移,“表现”及每个接口地址(URI)都表现为(视为)一个资源对象(文本资源、图片资源、服务资源),状态转移指通过POST/PUT方法发送完整的新状态信息来更改资源对象的状态 如某https://api.***.com

    2023年04月11日
    浏览(82)
  • Elastic Search的RestFul API入门:如何进行ES的查询-search

    在这篇教学文章中,我们将深入探讨Elasticsearch的search功能。这是一个非常强大且灵活的功能,它允许我们对存储在Elasticsearch中的数据进行各种复杂的查询和分析。本章的目标是让读者理解如何进行Elasticsearch的搜索,以及如何在搜索过程中自主调整搜索参数,从而灵活地控制

    2024年02月03日
    浏览(50)
  • 一个基于SpringBoot开发的RBAC系统,非常适合新手入门JavaWeb代码审计实战的系统,长文警告,要好好学习。

    嗨,大家好,我是闪石星曜CyberSecurity创始人Power7089。 欢迎大家搜索我的微信公众号:闪石星曜CyberSecurity 本文是【炼石计划@Java代码审计】内部圈子原创课程,现分享给大家学习。 如需转载,请详细注明来源。 欢迎大家搜索并添加我的好友【Power_7089】,备注CSDN,邀请你进入

    2024年02月11日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包