在Express.js中,请求参数和查询参数都可以通过req
对象来访问和处理。req
对象代表了客户端发起的HTTP请求,而res
对象则代表了服务器对客户端的响应。
针对请求参数,可以通过req.params
属性来访问。它是一个对象,包含了通过路由定义的参数。例如,在定义路由时使用了/users/:id
这样的格式,那么可以通过req.params.id
来访问id
参数的值。
对于查询参数,可以通过req.query
属性来访问。它也是一个对象,包含了客户端在URL中传递的查询参数。例如,对于URL /users?id=1&name=John
,可以通过req.query.id
和req.query.name
来分别获取id
和name
的值。
除了请求参数和查询参数,req
对象还有一些其他常用属性和方法:
req.body
:如果使用了中间件解析请求体,比如body-parser
,则可以通过该属性获取请求体的内容。req.header(field)
:获取指定请求头的值。req.cookies
:获取所有的客户端发送的Cookie。req.get(field)
:获取指定请求头的值,不区分大小写。req.path
:获取请求的路径部分。req.method
:获取请求的HTTP方法。
而res
对象用于构建服务器对客户端的响应,常用的属性和方法包括:
res.send(data)
:发送数据给客户端,可以自动根据数据类型选择合适的响应头。res.json(data)
:以JSON格式发送数据给客户端。res.status(code)
:设置响应的HTTP状态码。res.set(field, value)
:设置响应头的值。res.cookie(name, value [, options])
:设置Cookie。res.redirect([status,] path)
:进行重定向到指定路径。
这些是req
和res
对象的一些常用属性和方法,可以根据具体需求查看Express.js的官方文档来获取更详细的信息。