Node.js 监听 GET 和 POST 请求并处理参数

目录

[1. 安装 Node.js 和 Express](#1. 安装 Node.js 和 Express)

[2. 创建服务器并监听 GET 和 POST 请求](#2. 创建服务器并监听 GET 和 POST 请求)

[3. 运行服务器](#3. 运行服务器)

[4. 结语](#4. 结语)


1. 安装 Node.js 和 Express

在开始之前,请确保你已经安装了 Node.js ,然后使用 npm 安装 Express

bash 复制代码
mkdir node-server && cd node-server  # 创建项目目录
npm init -y  # 初始化项目
npm install express  # 安装 Express

2. 创建服务器并监听 GET 和 POST 请求

新建 server.js 文件,写入以下代码:

javascript 复制代码
// server.js
const express = require('express'); // 引入 Express
const app = express(); // 创建应用
const port = 3000; // 服务器端口

// 解析 JSON 和 URL 编码数据
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

// 监听 GET 请求,获取查询参数
app.get('/get-user', (req, res) => {
    const name = req.query.name; // 获取 URL 查询参数 ?name=xxx
    res.send(`GET 请求收到,用户:${name}`);
});

// 监听 POST 请求,获取请求体数据
app.post('/post-user', (req, res) => {
    const { name, age } = req.body; // 获取 JSON 请求体参数
    res.json({ message: 'POST 请求收到', user: { name, age } });
});

// 启动服务器
app.listen(port, () => {
    console.log(`服务器运行在 http://localhost:${port}`);
});

3. 运行服务器

在终端执行:

javascript 复制代码
node server.js

服务器启动后,访问 http://localhost:3000/get-user?name=Tom,页面会返回:

javascript 复制代码
GET 请求收到,用户:Tom

然后使用 Postman 或 curl 发送 POST 请求:

bash 复制代码
curl -X POST http://localhost:3000/post-user -H "Content-Type: application/json" -d '{"name": "Alice", "age": 25}'

服务器返回 JSON 响应:

javascript 复制代码
{
    "message": "POST 请求收到",
    "user": {
        "name": "Alice",
        "age": 25
    }
}

4. 结语

这篇文章介绍了如何使用 Node.js + Express 监听 GET 和 POST 请求,并解析 URL 查询参数和 JSON 请求体数据。希望这篇教程能帮助你快速上手!🚀

相关推荐
@PHARAOH4 分钟前
HOW - 构建一个轻量前后端一体服务
前端·微服务·服务端
无限进步_15 分钟前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法
一只小小Java16 分钟前
Echarts单表多图实现
前端·javascript·echarts
跟着珅聪学java17 分钟前
Element UI 的 Tabs 标签页开发教程
javascript·vue.js·elementui
dunky25 分钟前
Spring AI 深度解析:把 LLM 抽象成 Spring Bean 的底层逻辑
前端
星栈26 分钟前
Rust WASM 文件上传全链路:从浏览器到 S3,一个字节都不能少
前端·前端框架·开源
濮水大叔26 分钟前
告别 Django Admin!这个 NodeJS 全栈框架让你在 DTO 中直接配置 Table/Form 渲染
前端·typescript·node.js
JarvanMo27 分钟前
Flutter 3.44 & Dart 3.12重磅发布!这些新特性太香了
前端
竹林81827 分钟前
用Viem替换ethers.js:一次合约交互的"减负"实战,我总算把TypeScript类型搞明白了
前端·javascript
To_OC29 分钟前
一个让我懵了半小时的时钟 Bug,注重前端三权分立落地
前端·代码规范