MST

星途 面试题库

面试题:Node.js中如何实现简单的HTTP请求拦截

在Node.js环境下,假设你有一个基于Express框架搭建的应用,现有外部请求访问 /api/data 接口,要求你编写代码实现对这个HTTP请求的拦截,并在控制台输出请求的方法和URL,简述实现思路并给出关键代码。
50.2万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 使用Express框架的中间件功能,中间件可以在请求到达具体路由处理之前进行拦截处理。
  2. 在中间件函数中获取请求的方法(req.method)和URL(req.url),并在控制台输出。

关键代码

const express = require('express');
const app = express();

// 中间件拦截请求
app.use((req, res, next) => {
    if (req.url === '/api/data') {
        console.log(`请求方法: ${req.method}, 请求URL: ${req.url}`);
    }
    next();
});

// 定义 /api/data 路由
app.get('/api/data', (req, res) => {
    res.send('Data from /api/data');
});

const port = 3000;
app.listen(port, () => {
    console.log(`Server running on port ${port}`);
});