为这些值中的每一个创建一条路径[abc, ijk, pqr, xyz]
。为了处理不同的查询参数(?category=xyz
)创建变换请求的URL中间件:
app.use(function(req, res, next) {
// adding category in the url path will redirect to the
// correct route after calling next function
req.url = "/" + req.query.category;
next();
});
假设这是一个GET
请求类别的路线将是:
app.get('/abc', function(req, res) {
//do stuff for 'abc' category
res.send('abc');
});
app.get('/ijk', function(req, res) {
//do stuff for 'ijk' category
res.send('ijk');
});
app.get('/pqr', function(req, res) {
//do stuff for 'pqr' category
res.send('pqr');
});
app.get('/xyz', function(req, res) {
//do stuff for 'xyz' category
res.send('xyz');
});
注意,中间件将修改网址的所有请求,通过请求url进行过滤,添加路径app.use("/path", function(req,res,next)...
或在其中添加一些逻辑。
但我不能改变传入的请求url的模式。它将始终采用我在我的问题中指定的格式。 – user1010
好的,我明白了。我将用可能的解决方案编辑我的答案。 –