Express.js 中路由的使用方式及路由参数的传递

阅读时长 5 分钟读完

前言

在前端开发中,我们经常会使用到 Express.js 这个 Node.js 的框架。在 Express.js 中,路由 (Routing) 是我们开发 web 应用最基础且必需的一部分。通过路由,我们可以将 URL 映射到处理函数 (handler) 上,以此来处理来自客户端的请求。本文将介绍 Express.js 中路由的使用方式以及路由参数的传递。

路由的使用方式

在 Express.js 中,我们可以通过两种方式来定义路由:基于 HTTP 方法和基于路径。下面我们就分别来介绍一下这两种方式。

基于 HTTP 方法的路由

在 Express.js 中,我们可以使用 app 对象来创建基于 HTTP 方法的路由,其语法如下:

其中,METHOD 表示 HTTP 方法名称 (如 GET、POST、PUT 等),PATH 表示路径,HANDLER 表示路由处理函数。下面我们通过一个例子来演示一下基于 HTTP 方法的路由。

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

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

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

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

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

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

在上述例子中,我们定义了四个基于 HTTP 方法的路由,分别为 GET、POST、PUT 和 DELETE。其中,PUT 和 DELETE 路由使用了路由参数 (Route parameters),稍后我们将会详细讲解路由参数的使用。

基于路径的路由

在 Express.js 中,除了基于 HTTP 方法创建路由之外,我们还可以通过 app 对象来创建基于路径的路由,其语法如下:

其中,PATH 表示路径,HANDLER 表示路由处理函数。下面我们通过一个例子来演示一下基于路径的路由。

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

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

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

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

在上述例子中,我们定义了两个基于路径的路由,分别为 /public 和 /users。其中,/public 路由使用了来自 express.static 中间件的处理函数,它会将 public 文件夹中的静态文件映射到 /public 路径下。/users 路由则简单地返回了一个字符串。

路由参数的传递

在 Express.js 中,我们可以使用路由参数来传递动态变量。路由参数使用冒号 (:) 来标识,其语法如下:

在上述例子中,我们定义了一个带有路由参数的路由,其中 :userId 就是路由参数。当客户端请求 /users/123 时,它将访问到这个路由,从而调用路由处理函数,并将路由参数传递给它。

除了 req.params 外,我们还可以使用 req.query 来获取通过查询字符串 (Query String) 传递的参数,以及 req.body 来获取通过 POST 请求体传递的参数。下面我们通过一个例子来演示一下如何获取这些参数。

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

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

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

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

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

在上述例子中,我们定义了三个路由,分别为带有路由参数的 GET 请求、带有查询字符串的 GET 请求以及带有 POST 请求体的 POST 请求。其中,我们通过 req.params、req.query 和 req.body 来获取对应的参数。

结语

通过本文的介绍,相信读者已经对 Express.js 中路由的使用方式以及路由参数的传递有了一定的了解。在实际开发中,路由是非常重要的一部分,因此我们应该充分了解路由的相关知识,以此来提高我们的开发效率。

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

纠错
反馈