express路由模式

news/2024/9/23 1:38:48/

1.字符串模式路由路径

1.1“?” 匹配前面字符或子字符串0或1次

//可以访问acd,abcdapp.get('/ab?cd',(req,res)=>{res.send('Hello')
})

1.2 “+” 匹配前面字符或子字符串1或多次 

//可以访问abcd,aabcd,等等
app.get('/a+bcd',(req,res)=>{res.send('Hello')
})

1.3 “*” 匹配任意多字符(包括空字符) 

//此路径将匹配 abcd、 abxcd、 abRANDOMcd、 ab123cd 等app.get('/ab*cd',(req,res)=>{res.send('Hello')
})

1.4 “()” 子字符串

"()" 的用处把如 ? 和 + 等匹配规则应用到一些字符上

//路径将匹配/abe 和/abcde
app.get('/ab(cd)?e',(req,res)=>{res.send('Hello')
})

1.5 正则表达式匹配 

基于正则表达式的路由路径示例:这条路径将匹配任何带有“ a”的路径。

app.get(/a/,(req,res)=>{res.send('Hello')
})

2 路由参数匹配路由路径

2.1基本匹配

路由参数名称只能由 [A-Za-z0-9_] 组成

<----  Route path: /users/:userId/books/:bookId
Request URL: http://localhost:3000/users/34/books/8989
req.params: { "userId": "34", "bookId": "8989" } ---->app.get('/users/:userId/books/:bookId', function (req, res) {res.send(req.params)
})

2.2 “-” 与 “.” 分割路由参数 

<---  Route path: /flights/:from-:to
Request URL: http://localhost:3000/flights/LAX-SFO
req.params: { "from": "LAX", "to": "SFO" } ---><---  Route path: /plantae/:genus.:species
Request URL: http://localhost:3000/plantae/Prunus.persica
req.params: { "genus": "Prunus", "species": "persica" } --->

2.3使用正则表达式 

  • 在 Express 4.x 中,正则表达式中的 * 字符不会按照通常的方式进行解释。作为解决方案,请使用{0,}代替 * 。这个问题很可能在 Express 5中得到解决。
<--- Route path: /user/:userId(\d+)
Request URL: http://localhost:3000/user/42
req.params: {"userId": "42"} --->

3.路由函数 

var cb0 = function (req, res, next) {console.log('CB0')next()}var cb1 = function (req, res, next) {console.log('CB1')next()}var cb2 = function (req, res) {res.send('Hello from C!')}app.get('/example/c', [cb0, cb1, cb2])

http://www.ppmy.cn/news/5224.html

相关文章

Markdown文档数学公式的使用

Markdown文档数学公式的使用1.语法格式的使用1.1.多行使用相同等号2.数学公式3.符号3.1.重音符【字母上方添加】2.2.小写希腊字母3.3.大写希腊字母3.4.二元关系符3.5.二元运算符3.6.大尺寸运算符3.7.箭头3.8.定界符3.9.大尺度定界符3.10.其他符号参考文章&#xff0c;非常感谢博…

大二学生JavaScript实训大作业——动漫秦时明月7页 期末网页制作 HTML+CSS+JavaScript 网页设计实例 企业网站制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

工控CTF之协议分析8——特殊隧道

协议分析 流量分析 主要以工控流量和恶意流量为主&#xff0c;难度较低的题目主要考察Wireshark使用和找规律&#xff0c;难度较高的题目主要考察协议定义和特征 简单只能简单得干篇一律&#xff0c;难可以难得五花八门 常见的工控协议有&#xff1a;Modbus、MMS、IEC60870、…

C++ Primer笔记——lambda表达式与bind函数

目录 一.lambda介绍 &#xff08;一&#xff09;.总体介绍 &#xff08;二&#xff09;.参数列表 &#xff08;三&#xff09;.尾置返回 &#xff08;四&#xff09;.捕捉列表 ①值捕捉 ②引用捕捉 ③隐式捕捉 &#xff08;五&#xff09;.lambda与捕捉列表的本质 二.…

【计算机考研408】进程运行的流程

由程序段&#xff08;进程运行的程序的代码&#xff09;、相关数据段、和PCB&#xff08;进程存在的唯一标志&#xff09;三个部分构成了进程实体&#xff0c;也称作进程映像。 注&#xff1a;&#xff08;引入线程后&#xff09;进程只作为cpu外的系统资源的分配单元。 注&a…

实验七、MOS管分压式偏置共源放大电路的静态和动态参数

一、题目 搭建MOS管分压式偏置共源放大电路。利用Multisim研究下列问题&#xff1a; &#xff08;1&#xff09;确定一组电路参数&#xff0c;使电路的 QQQ 点合适。 &#xff08;2&#xff09;若输出电压波形底部失真&#xff0c;则可采取哪些措施&#xff1f;若输出电压波形…

读书笔记:《置身事内》

前言 本书的主角既不是微观的价格机制&#xff0c;也不是宏观的经济周期&#xff0c;而是政府和政策。 在我国&#xff0c;政府不但影响蛋糕的分配&#xff0c;还参与蛋糕的生产&#xff0c;所以我们不可能脱离政府谈经济。 结束语 作为经济学家的朴素信念&#xff1a;生活…

matlab 通信仿真设计模拟信号的数字化

基带信号的采样定理是指&#xff0c;对于一个频谱宽度为 BHz 的基带信号&#xff0c;可惟一地被均匀 间隔不大于 1/(2B)秒的样值序列所确定。采样定理表明&#xff0c;如果以不小于 1/(2B)次/秒的速率 对基带模拟信号均匀采样&#xff0c;那么所得到样值序列就包含了基带信号的…