请解释 Express 中如何使用参数 (params)、查询字符串 (query) 和请求体 (body)?

推荐答案

在 Express 中,可以通过以下方式获取参数、查询字符串和请求体:

  1. 参数 (params):通过 req.params 获取。通常用于 RESTful API 中的动态路由参数。

  2. 查询字符串 (query):通过 req.query 获取。用于获取 URL 中的查询参数。

  3. 请求体 (body):通过 req.body 获取。通常用于 POST 或 PUT 请求中传递的 JSON 或表单数据。需要先使用 body-parser 中间件解析请求体。

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

本题详细解读

1. 参数 (params)

  • 用途:用于获取路由中的动态参数。例如,在 RESTful API 中,/users/:userId 中的 :userId 是一个动态参数。
  • 获取方式:通过 req.params 对象访问。req.params 是一个包含路由参数的对象,键名对应路由中的参数名。
  • 示例

2. 查询字符串 (query)

  • 用途:用于获取 URL 中的查询参数。例如,/search?q=express 中的 q=express 是查询字符串。
  • 获取方式:通过 req.query 对象访问。req.query 是一个包含查询参数的对象,键名对应查询参数的名称。
  • 示例

3. 请求体 (body)

  • 用途:用于获取 POST 或 PUT 请求中传递的数据,通常用于表单提交或 JSON 数据。
  • 获取方式:通过 req.body 对象访问。需要先使用 body-parser 中间件解析请求体。
  • 解析方式
    • bodyParser.json():解析 JSON 格式的请求体。
    • bodyParser.urlencoded({ extended: true }):解析 URL 编码的请求体(通常用于表单提交)。
  • 示例

通过以上方式,可以在 Express 中灵活地处理不同类型的请求数据。

纠错
反馈