请说明在 Express(Node.js)中定义一个路由的具体实现方式。
考察说明
考察考生对 Express 基本路由定义方法的掌握程度。
回答思路
- 【回答框架 1】在 Express 中,可通过 app.METHOD(path, handler) 方式定义路由,其中 METHOD 对应 HTTP 方法,如 get、post 等。例如:app.get('/user', (req, res) => { res.send('Hello') }); 亦可通过 app.all 匹配所有方法,或使用 app.use 挂载中间件并指定路径前缀。
- 【回答框架 2】路由路径支持字符串、字符串模式以及正则表达式。路径参数使用冒号标识,如 '/user/:id',可通过 req.params.id 获取。支持查询参数、请求体等数据传递。
- 【回答框架 3】对于多个处理方法,可向 app.METHOD 传入多个回调函数,依次执行,每个回调可通过 next() 进入下一处理逻辑。也可将路由按模块拆分,使用 express.Router 创建模块化路由,再通过 app.use 挂载,如 const router = express.Router(); router.get(...); app.use('/api', router);
- 【关键点 1】基本定义:app.get('/path', handler) 等。
- 【关键点 2】路径参数:冒号定义,req.params 获取。
- 【关键点 3】模块化:express.Router 实现更清晰的路由组织。
- 【易错点 1】路由顺序影响匹配,将通配路由放前面可能屏蔽具体路由。
- 【易错点 2】忘记调用 next() 会导致请求挂起,需注意异步处理正确结束响应。