在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的官方文档来获取更详细的信息。