在 Express 框架中,HTTP 请求对象 req 上通常会用到哪些常见的属性?
考察说明
考查对 Express 核心请求对象常用属性的熟悉程度
回答思路
- 【回答框架 1】req 是 Express 对 Node.js 原生请求对象的增强,常见属性包括 req.params、req.query、req.body、req.headers、req.cookies、req.ip、req.path、req.method、req.url 等。
- 【回答框架 2】req.params 用于获取路由中的命名参数,例如路由 /user/:id 中,req.params.id 得到对应值;req.query 返回查询字符串解析后的对象,如 ?name=test 对应 req.query.name;req.body 用于获取 POST 请求体内容,需配合 express.json() 等中间件解析。
- 【回答框架 3】req.headers 包含请求头对象,req.get(name) 可便捷获取指定请求头;req.cookies 需 cookie-parser 中间件支持;req.ip 返回客户端 IP,req.path 返回路径部分,req.method 为 HTTP 方法,req.url 为完整请求路径。
- 【回答框架 4】这些属性覆盖了路由参数、查询参数、请求体、请求头等核心信息,是处理请求逻辑时的基础。
- 【关键点 1】req.params 获取路由参数
- 【关键点 2】req.query 获取查询字符串
- 【关键点 3】req.body 获取请求体
- 【关键点 4】req.headers 获取请求头
- 【易错点 1】req.body 必须依赖中间件解析如 express.json(),否则为 undefined
- 【易错点 2】不要混淆 req.params 与 req.query 的用途