Node.js 路由 - 初识 Express 中的路由

目录

Node.js 路由 - 初识 Express 中的路由

1. 什么是路由?

2. 安装 Express

3. 创建 server.js

4. 运行服务器

5. 测试路由

5.1 访问主页

5.2 访问用户路由

5.3 发送 POST 请求

6. 结语


1. 什么是路由?

路由(Routing)是指根据不同的 URL 地址,服务器返回不同的内容。在 Express 中,我们可以使用 app.get()app.post() 等方法定义路由。


2. 安装 Express

mkdir express-routing && cd express-routing  # 创建项目目录
npm init -y  # 初始化项目
npm install express  # 安装 Express

3. 创建 server.js

文件名:server.js(JavaScript 代码)

// server.js
const express = require('express'); // 引入 Express
const app = express(); // 创建应用
const port = 3000; // 服务器端口// 主页路由
app.get('/', (req, res) => {res.send('欢迎来到 Express 主页!');
});// 用户路由(GET 请求)
app.get('/user/:name', (req, res) => {const name = req.params.name; // 获取 URL 参数res.send(`你好,${name}!`);
});// 提交数据路由(POST 请求)
app.use(express.json()); // 解析 JSON 请求体
app.post('/submit', (req, res) => {const { username, age } = req.body; // 获取请求体数据res.json({ message: '数据提交成功', user: { username, age } });
});// 启动服务器
app.listen(port, () => {console.log(`服务器运行在 http://localhost:${port}`);
});

4. 运行服务器

执行命令:

node server.js

5. 测试路由

5.1 访问主页

浏览器打开 http://localhost:3000/,页面显示:

欢迎来到 Express 主页!
5.2 访问用户路由

浏览器访问 http://localhost:3000/user/Tom,页面显示:

你好,Tom!
5.3 发送 POST 请求

使用 Postman 或 curl 发送请求:

curl -X POST http://localhost:3000/submit -H "Content-Type: application/json" -d '{"username": "Alice", "age": 25}'

服务器返回 JSON 响应:

{"message": "数据提交成功","user": {"username": "Alice","age": 25}
}

6. 结语

本文介绍了 Express 路由 的基本用法,包括 GET 和 POST 请求,以及如何获取 URL 参数和请求体数据。希望这篇教程能帮助你快速上手 Express 路由!🚀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/75130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面经-项目

项目 项目(重点)问题1:描述在网页中题目点击提交后到题目结果出现的一系列后台反应【1】如何获取到用户提交的代码的?【2】_1. 题目细节都有哪些?【2】_2. 题目信息怎么存储的?【3】负载均衡算法的实现?【4】oj_server怎么连接对应的compile_server(编译主机)的?【5】oj_…

网络基本概念认识(2)

目录 前言: 局域网协议 MAC/IP地址 Socket编程 TCP/UDP 网络字节序 前言: 本文同样作为博主的二刷网络课程的文章,主要涵盖的主题还是网络基本概念的认识,从上一篇文章遗漏的点加上引入的一些知识点共同组成当前的知识点。…

Kafka中的消息是如何存储的?

大家好,我是锋哥。今天分享关于【Kafka中的消息是如何存储的?】面试题。希望对大家有帮助; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中,消息是通过 日志(Log) 的方式进行存储的。…

openEuler24.03 LTS下安装ZooKeeper集群

目录 前提条件 ZooKeeper集群规划 下载ZooKeeper 解压 配置环境变量 配置ZooKeeper 配置zoo.cfg 配置myid 分发到其他机器 修改其他机器myid 启动集群 关闭集群 集群启停脚本 前提条件 准备3台Linux机器,并安装好Java8 ZooKeeper集群规划 node2node3…

Python 实现机器学习小项目实战教程*

markdown 复制 Python 实现机器学习小项目实战教程 本教程将通过一个完整的机器学习项目案例,从数据预处理到模型部署,帮助初学者快速掌握机器学习核心流程。项目以经典的鸢尾花分类为例,使用 Scikit-learn 库实现。 1. 项目概述 目标 构…

rust学习笔记21-闭包

在 Rust 中,闭包(Closures) 是一种可以捕获其环境中的变量的匿名函数。它们非常灵活,既可以作为普通函数使用,也可以捕获和操作定义它们的作用域中的变量。闭包是 Rust 中处理短小逻辑代码块的强大工具,特别…

linux实现rsync+sersync实时数据备份

1.概述 rsync(Remote Sync) 是一个Unix/linux系统下的文件同步和传输工具 2.端口和运行模式 tcp/873 采用C/S模式(客户端/服务器模式) 3.特点 可以镜像保存整个目录和文件第一次全量备份(备份全部的文件),之后是增量备份(只备份变化的文件) 4. 数…

【第30节】MFC编程:ListCtrl控件和TreeCtrl控件

目录 引言 一、高级控件ListCtrl 二、高级控件TreeCtrl 三、Shell控件 四、CImageList 五、综合代码示例 引言 在MFC编程里,高级控件能大幅提升应用程序的交互性与功能性。接下来,咱们会详细讲讲ListCtrl和TreeCtrl这两个高级控件。不仅会介绍它们…

为什么 ThreadLocalMap 的 key 是弱引用 value是强引用

问题一:为什么 ThreadLocalMap 的 key 是弱引用? 【假设 Entry 的 key 是对 ThreadLocal 对象的强引用】:这个 Entry 又持有 ThreadLocal 对象和 value 对象的强引用。如果在其他地方都没有对这个 ThreadLocla 对象的引用了、然后在使用 Thr…

DeepSeek本地部署(linux)

一、下载并安装Ollama 1.下载Ollama Ollama官网:Ollama 点击"Download",会跳转至下载页面。 1.1在线下载安装 可复制此命令到Linux服务器进行在线下载,如下载速度过慢,可选择离线下载安装。 curl -fsSL https://ollama.com/install.sh | sh1.2离线下载安装 …

基于Halcon仿VM流程列表的执行效果

Halcon本身应用需要一定的门槛,但是也可以封装成类似VM简单易操作的样子 上期文章分享的是连线功能,本期分享数据传参 1,定义通用属性和方法 public class BaseModel {public HObject HInput { get; set; }//图像输入public HObject HOutpu…

打车APP订单系统逻辑梳理与实现

一、逻辑分析 打车 APP 订单系统是整个打车业务的核心,负责处理从乘客下单到行程结束的一系列流程,涉及乘客、司机和平台三方的交互。 乘客端 下单:乘客打开 APP,输入上车地点、目的地,选择车型等信息后提交订单。此时…

杂草YOLO系列数据集4000张

一份开源数据集——杂草YOLO数据集,该数据集适用于农业智能化、植物识别等计算机视觉应用场景。 数据集详情 ​训练集:3,664张高清标注图像​测试集:180张多样性场景样本​验证集:359张严格筛选数据 下载链接 杂草YOLO数据集分…

算法 | 河马优化算法原理,公式,应用,算法改进及研究综述,matlab代码

以下是关于河马优化算法(Hippopotamus Optimization Algorithm, HO)的完整综述,包含原理、公式、应用场景、改进方向及可直接运行的 Matlab 完整代码。一、算法原理 河马优化算法(HO)由Amiri等人于2024年提出,是受河马群体行为启发的元启发式算法,其核心基于以下三阶段行…

知识就是力量——HELLO GAME WORD!

你好!游戏世界! 简介环境配置前期准备好文章介绍创建头像小功能组件安装本地中文字库HSV颜色空间音频生成空白的音频 游戏UI开发加载动画注册登录界面UI界面第一版第二版 第一个游戏(贪吃蛇)第二个游戏(俄罗斯方块&…

Android Activity 的 launchMode 与 Task Stack 管理

Android 中的 android:launchMode 决定了 Activity 在启动时如何在任务栏中管理它的存在方式。下面我们来结合 Task Stack 管理详细解释。 1. android:launchMode 的四种模式 1.1 standard (标准模式, 默认) 启动方式:每次启动都会创建一个新实例并压入栏任务堆中…

2025选择手机之我见

自从开店之后,没当有手机召开发布会,我就得去大概看看,了解一下屏幕,充电之类的东西。毕竟跟我的生意息息相关,而且还得研究要不要上新,从我目前卖货的情况来看,折叠屏不是大众的选择&#xff0…

【区块链安全 | 第九篇】基于Heimdall设计的智能合约反编译项目

文章目录 背景目的安装1、安装 Rust2、克隆 heimdall-dec3、编译 heimdall-dec4、运行 heimdall-dec 使用说明1、访问 Web 界面2、输入合约信息3、查看反编译结果 实战演示1、解析普通合约2、解析代理合约 背景 在区块链安全研究中,智能合约的审计和分析至关重要。…

利用 PCI-Express 交换机实现面向未来的推理服务器

在数据中心系统的历史上,没有比被 Nvidia 选为其 AI 系统的组件供应商更高的赞誉了。 这就是为什么新兴的互连芯片制造商 Astera Labs 感到十分高兴,因为该公司正在 PCI-Express 交换机、PCI-Express 重定时器和 CXL 内存控制器方面与 Broadcom 和 Marv…

智能交通预警杆:守护道路安全的科技先锋

在城市化进程加速以及机动车保有量持续增长的背景下,道路交通安全与拥堵问题渐趋严峻。智能交通预警杆应时而生,其集成多种高科技功能,正逐步成为现代城市交通管理中至关重要的智能装备,对于提升交通效率、保障出行安全发挥着关键…