Express.js – app.route() 方法
该方法返回单个路由的实例。这个单一的路由可用于处理带有可选中间件的HTTP动词。该方法主要用于避免重名。app.route()
语法
app.route( )
示例1
创建一个名为“appRoute.js”的文件并复制以下代码片段。创建文件后,使用命令“nodeappRoute.js”运行此代码。
//app.route()演示示例 //导入express模块 var express = require('express'); //初始化express和端口号 var app = express(); var PORT = 3000; // Creating a get, post & other requests app.route('/user') .get((req, res, next) => { res.send('GET is called'); console.log('GET is called'); }) .post((req, res, next) => { res.send('POST is called'); console.log('POST is called') }) .all((req, res, next) => { res.send('All others are called'); console.log('All others are called') }) app.listen(PORT, function(err){ if (err) console.log(err); console.log("Server listening on PORT", PORT); });
点击以下端点/API调用上述函数-
获取http://localhost:3000/user
POSThttp://localhost:3000/user
PUThttp://localhost:3000/user
输出结果
C:\home\node>> node appRoute.js '' '/api' '/api/v1'
示例2
让我们再看一个例子。
//app.route()演示示例 //导入express模块 var express = require('express'); //初始化express和端口号 var app = express(); var PORT = 3000; // Creating a get, post & other requests app.route('/api/*') .get((req, res, next) => { res.send('GET is called'); console.log('GET is called'); }) .post((req, res, next) => { res.send('POST is called'); console.log('POST is called') }) .all((req, res, next) => { res.send('All others are called'); console.log('All others are called') }) app.listen(PORT, function(err){ if (err) console.log(err); console.log("Server listening on PORT", PORT); });
对于上面的函数,你可以在/api/之后调用任何端点,它只会通过上面的函数传递。例如,
http://localhost:3000/api/,
http://localhost:3000/api/v1,
.http://localhost:3000/api/user/path等
输出结果
C:\home\node>> node appRoute.js Server listening on PORT 3000 All others are called GET is called