「技术教程」使用 NestJS 构建 RESTful API

阅读时长 5 分钟读完

随着前端技术的不断发展,越来越多的前端开发者开始接触后端开发,而 RESTful API 的出现使得前端与后端的交互更加灵活和快捷。而 NestJS 作为一个基于 Typescript 的开发框架,可以帮助前端开发者快速地构建一个高效、灵活、可扩展的 RESTful API。

本文将介绍如何使用 NestJS 构建 RESTful API,并提供示例代码与详细的指导说明,帮助初学者快速学习并上手 NestJS 的使用。

环境准备

在开始 NestJS 的学习之前,首先需要对以下几个软件进行安装:

  • Node.js(建议使用 v12.0 及以上版本)
  • NPM 或 Yarn(建议使用 NPM)
  • VS Code(或其他代码编辑器)

安装好以上软件后,我们就可以开始 NestJS 的学习之旅了。

安装 NestJS

在安装 NestJS 之前,首先需要使用 NPM 或 Yarn 安装 NestJS 的 CLI 工具,使用以下命令即可完成安装:

安装完成后,可以使用如下命令创建一个新的 NestJS 项目:

这个命令将会创建一个新的 NestJS 项目,你可以自己设置项目名称。等待命令行输出完成后,进入项目文件夹:

现在我们已经成功创建了一个新的 NestJS 项目,并对项目做了一些基础准备工作。

创建一个控制器

在 NestJS 中,控制器(Controller)是用来处理 HTTP 请求和响应的主要组件。我们可以使用 NestJS 的 CLI 工具来创建一个控制器:

这个命令将会在项目中自动生成一个名为 cats.controller.ts 的文件,打开这个文件,我们可以在其中添加一个简单的 HTTP 路由:

-- -------------------- ---- -------
------ - ----------- --- - ---- -----------------

-------------------
------ ----- -------------- -
  ------
  ---------- ------ -
    ------ ----- ------ ------- --- ------
  -
-

这个控制器会在 GET 请求访问 /cats 时返回一个字符串。现在我们可以启动 NestJS 项目,并访问 http://localhost:3000/cats 来测试这个控制器。

添加一个服务

在 NestJS 中,服务(Service)是一个用来管理应用程序中的数据和业务逻辑的模块。下面我们来创建一个服务,并在控制器中使用这个服务。

使用如下命令创建一个用户服务:

这个命令将会在项目中自动生成一个名为 users.service.ts 的文件,打开这个文件,我们可以添加一个简单的用户信息数据:

-- -------------------- ---- -------
------ - ---------- - ---- -----------------

-------------
------ ----- ------------ -
  ------- -------- ----- - -
    -
      --- --
      ----- ----- ---
    --
    -
      --- --
      ----- ----- ---
    --
  --

  ---------- ----- -
    ------ -----------
  -

  ----------- -------- --- -
    ------ -------------------- -- ------- --- ----
  -
-

我们在服务里面创建了一个 users 数组,包含两个用户信息。此外,我们在服务中定义了两个方法 findAllfindOne,用来获取所有用户信息和获取指定 id 的用户信息。

现在我们需要在控制器中使用这个服务并返回用户信息。在控制器中导入服务,并将其注入到控制器的构造函数中:

-- -------------------- ---- -------
------ - ----------- ---- ----- - ---- -----------------
------ - ------------ - ---- ------------------

--------------------
------ ----- --------------- -
  ------------------- -------- ------------- ------------- --

  ------
  ---------- ----- -
    ------ ----------------------------
  -

  -----------
  -------------------- --- -------- --- -
    ------ ------------------------------
  -
-

在控制器中添加了两个路由,分别是 GET 请求 http://localhost:3000/usersGET 请求 http://localhost:3000/users/:id,用来获取所有用户信息和获取指定 id 的用户信息,其中 :id 是动态路由参数,可以在控制器中通过 @Param('id') 获取到。

现在我们已经完成了一个简单的 NestJS 项目,并成功在控制器中使用了一个服务来获取用户信息。

总结

在本文中,我们介绍了如何使用 NestJS 构建一个简单的 RESTful API,包括创建控制器和服务,并将服务注入到控制器中。

NestJS 作为一个基于 Typescript 的开发框架,可以帮助前端开发者快速地构建一个高效、灵活、可扩展的 RESTful API。通过学习本文,相信大家已经掌握了 NestJS 的基础知识,并可以开始尝试自己的项目了。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651d14cf95b1f8cacd4995ec

纠错
反馈