ExpressJS - URL构建

ExpressJS - URL构建 首页 / ExpressJS入门教程 / ExpressJS - URL构建

现在无涯教程可以定义路由,但是这些路由是静态的或动态的,要使用动态路由应该提供不同类型的路由。

这是动态路由的示例-

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

app.get('/:id', function(req, res){
   res.send('The id you specified is ' + req.params.id);
});
app.listen(3000);

要对此进行测试,请访问 http://localhost:3000/123 。将显示以下响应。

URL Building 1

您可以使用其他任何内容替换URL中的" 123"。上述的一个更复杂的示例是-

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

app.get('/things/:name/:id', function(req, res) {
   res.send('id: ' + req.params.id + ' and name: ' + req.params.name);
});
app.listen(3000);

要测试上述代码,请访问 http://localhost:3000/things/learnfk/12345 。

URL Building 2

您可以使用 req.params 对象访问您在url中传递的所有参数。

模式匹配路由

您还可以使用 regex 来限制URL参数匹配。让无涯教程假设您需要 id 为5位数长的数字。您可以使用以下路由定义-

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

app.get('/things/:id([0-9]{5})', function(req, res){
   res.send('id: ' + req.params.id);
});

app.listen(3000);

请注意,这只会匹配具有5位数字长ID的请求,您可以使用更复杂的正则表达式来匹配/验证您的路由,如果您的路由均不符合请求,则会收到“Cannot GET <your-request-route>”消息作为响应。 使用此简单路由,此消息将替换为404找不到页面-

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

//Other routes here
app.get('*', function(req, res){
   res.send('Sorry, this is an invalid URL.');
});
app.listen(3000);

如果定义与上述相同的路由,则在请求有效URL时显示以下输出。 -

链接:https://www.learnfk.comhttps://www.learnfk.com/expressjs/expressjs-url-building.html

来源:LearnFk无涯教程网

Correct regex

对于错误的URL请求,将显示以下输出。

无涯教程网

Invalid regex(404)

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术领导力实战笔记 -〔TGO鲲鹏会〕

代码精进之路 -〔范学雷〕

Go语言从入门到实战 -〔蔡超〕

安全攻防技能30讲 -〔何为舟〕

Kafka核心源码解读 -〔胡夕〕

Selenium自动化测试实战 -〔郭宏志〕

如何看懂一幅画 -〔罗桂霞〕

陈天 · Rust 编程第一课 -〔陈天〕

李智慧 · 高并发架构实战课 -〔李智慧〕

好记忆不如烂笔头。留下您的足迹吧 :)