gpt4 book ai didi

node.js - expressjs 路由中的可选扩展

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:51 24 4
gpt4 key购买 nike

我想要一个可选的扩展名,比如 .xml.csv.json (默认情况下,没有扩展名会返回 json ).

app.get('/days-ago/:days(.:ext)?', function(req, res) {

这似乎不起作用,我做错了什么吗?

GET /days-ago/7.xml
GET /days-ago/7.csv
GET /days-ago/7.json
GET /days-ago/7

最佳答案

看来您为路线使用了错误的模式。这是更正后的:

app.get('/days-ago/:days\.:ext?', function(req, res) {

因此,为了实现您的目标,我将创建一个中间件来检查空参数并将其设置为所需的参数

像这样:

var defaultParamMiddleware = function(req, res, next) {
if (!req.params.ext) {
req.params.ext = 'json';
}

next();
};

app.get('/days-ago/:days\.:ext?', defaultParamMiddleware, function (req, res) {
res.json(req.params);
});

关于node.js - expressjs 路由中的可选扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27772838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com