具有 express 的动态端点

Dynamic endpoint with express

我正在尝试生成一个动态的 URL,它会在每次调用端点时发生变化 所以我在 Node.js 中有这个简单的函数来创建动态 url:

var path = crypto.createHash('md5').update(`${Date.now()}`).digest("hex");

function createNewPath(){
  path = crypto.createHash('md5').update(`${Date.now()}`).digest("hex");
}

以及接收请求的简单代码:

app.use('/'+path, function(req,res){
  createNewPath();
  res.send("<h1>Welcome!<h1>");
});

问题是 app.use 没有重新加载“路径”中的值,所以最初的 url 分配保持不变,有什么想法吗?

伤透了脑袋却一无所获

不要动态创建路由。提前设置好。检查其中的哈希值。

创建一个以散列为参数的路由。

Return 如果不匹配则出错。

app.get("/:hash", (req, res) => {

    if (req.params.hash === path) {
        return res.send("<h1>Welcome!<h1>");
    }
    return res.sendStatus(404);
});