推荐答案
在 Express 中,可以使用 app.METHOD() 来匹配特定的请求方法,其中 METHOD 可以是 GET、POST、PUT、DELETE 等 HTTP 方法。例如:
// www.javascriptcn.com code example
const express = require('express');
const app = express();
// 匹配 GET 请求
app.get('/example', (req, res) => {
res.send('This is a GET request');
});
// 匹配 POST 请求
app.post('/example', (req, res) => {
res.send('This is a POST request');
});
// 匹配 PUT 请求
app.put('/example', (req, res) => {
res.send('This is a PUT request');
});
// 匹配 DELETE 请求
app.delete('/example', (req, res) => {
res.send('This is a DELETE request');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});本题详细解读
在 Express 中,路由的定义是通过 app.METHOD() 方法来完成的,其中 METHOD 是 HTTP 请求方法的名称(如 GET、POST、PUT、DELETE 等)。每个 app.METHOD() 方法都接受两个参数:路径和回调函数。
- 路径:指定了请求的 URL 路径。例如,
/example表示当客户端请求/example路径时,该路由会被触发。 - 回调函数:当请求路径和方法匹配时,Express 会调用这个回调函数。回调函数通常接受两个参数:
req(请求对象)和res(响应对象)。req对象包含了客户端请求的详细信息,而res对象用于向客户端发送响应。
示例代码解析
GET 请求:
app.get('/example', (req, res) => { res.send('This is a GET request'); });当客户端向
/example路径发送 GET 请求时,服务器会返回This is a GET request。POST 请求:
app.post('/example', (req, res) => { res.send('This is a POST request'); });当客户端向
/example路径发送 POST 请求时,服务器会返回This is a POST request。PUT 请求:
app.put('/example', (req, res) => { res.send('This is a PUT request'); });当客户端向
/example路径发送 PUT 请求时,服务器会返回This is a PUT request。DELETE 请求:
app.delete('/example', (req, res) => { res.send('This is a DELETE request'); });当客户端向
/example路径发送 DELETE 请求时,服务器会返回This is a DELETE request。
其他 HTTP 方法
除了常见的 GET、POST、PUT、DELETE 方法外,Express 还支持其他 HTTP 方法,如 PATCH、OPTIONS、HEAD 等。使用方法与上述示例类似,只需将 METHOD 替换为相应的 HTTP 方法即可。
例如,处理 PATCH 请求:
app.patch('/example', (req, res) => {
res.send('This is a PATCH request');
});通过这种方式,Express 可以灵活地处理各种 HTTP 请求方法,并根据请求方法执行相应的逻辑。