如何阻止用户访问Node.js Express路由

时间:2019-04-25 15:08:22

标签: javascript node.js reactjs express

当我输入Express路由以获取针对用户的数据时,我有一个我正在使用Express处理数据库查询之类的React应用程序:

    app.get("/u/:id", function(req, res) {
        db.getOtherUser(req.params.id)
            .then(data => {
                res.json({ data });
            })
            .catch(err => {
                console.log("OTHER USER ERROR", err);
            });
    });

我仍然可以通过手动将json数据输入URL来访问它?

我创建了一个a,以测试它在交换机内部的功能,但是因为它确实在该路由上接收数据,所以它首先得到了它。

//in app.js
<BrowserRouter>

<Nav>
</Nav>

<Switch>

///routes////

<Redirect from="/u/2" to="/" /> //test route I made, doesn't work

</Switch>

</BrowserRouter>

1 个答案:

答案 0 :(得分:1)

在React应用程序中设置类似这样的路线

<Switch>
   <Route path="/mainpage" exact component={MainPage} />
   <Redirect to="/" />
</Switch>

现在,如果输入了除“主页”以外的任何其他路径,它将被重定向到/