Express中的request和response分别是什么?
时间: 2024-04-08 07:34:36 浏览: 72
request与response 详解
在Express中,`request`和`response`是两个重要的对象,用于处理HTTP请求和生成HTTP响应。
`request`对象(通常表示为`req`)包含了客户端发送的HTTP请求的所有信息。它提供了访问请求头、请求参数、请求体、URL等的方法和属性。通过`req`对象,你可以获取客户端发送的数据,例如查询参数、表单数据、请求头信息等。你还可以通过`req`对象访问路由处理函数中的动态路径参数(比如路由中的`/users/:id`,可以通过`req.params.id`获取到相应的值)。
`response`对象(通常表示为`res`)用于生成HTTP响应并发送给客户端。它提供了一系列的方法和属性,用于设置响应头、发送响应数据、设置响应状态码等操作。通过`res`对象,你可以设置响应的状态码(默认为200),设置响应头信息,发送响应数据(例如发送JSON数据、HTML页面等)。
下面是一个简单的Express路由处理函数示例,展示了如何使用`request`和`response`对象:
```javascript
app.get('/users/:id', (req, res) => {
const userId = req.params.id;
// 从数据库中获取用户信息
const user = getUserFromDatabase(userId);
// 设置响应头
res.setHeader('Content-Type', 'application/json');
// 发送JSON格式的响应数据
res.send(JSON.stringify(user));
});
```
在上述示例中,通过`req.params.id`获取到路由中的动态路径参数值,然后根据该值从数据库中获取用户信息。最后,通过`res.setHeader()`设置响应头的Content-Type为`application/json`,并使用`res.send()`发送JSON格式的响应数据给客户端。
总结来说,`request`和`response`对象在Express中分别代表了HTTP请求和HTTP响应,通过它们可以进行请求信息的获取和响应数据的发送。
阅读全文