【问题标题】:Receiving 404 error on Post Request using Postman MERN Stack使用 Postman MERN 堆栈在发布请求上收到 404 错误
【发布时间】:2020-11-28 18:29:21
【问题描述】:

我正在尝试为我的模型(用户)添加登录功能。我检查了我的数据库连接,它运行良好,因为其他路由运行良好。就像我创建用户时一样,它会成功创建用户。所以我确信我的数据库或我的数据库连接没有问题。甚至少数我的代码都可以正常工作。

我正在发送带有以下信息的 POST 请求

{
        "email":"sherryijan@gmail.com",
        "password":"6421515"
}

enter image description here

app.post("api/users/login", (req, res)=>{
    //find email
    User.findOne({email: req.body.email}, (err, user) =>{
        if(!user) return res.json({
            loginSuccess: false,
            message: "Auth Failed, email not found"
        });
        //compare password

        user.comparePassword(req.body.password, (err, isMatch) => {
            if(!isMatch){
                return res.json({loginSuccess:false, message:"wrong password"})
            }
        })
        //generate token
        user.generateToken((err, user)=>{
             if(err) return res.status(400).send(err);
             res.cookie("x_auth", user.token)
                .status(200)
                .json({
                    loginSuccess: true
                })
        })
    })
})

它显示的错误是

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Error</title>
</head>

<body>
    <pre>Cannot POST /api/users/login</pre>
</body>

</html>

我正在使用邮递员。

【问题讨论】:

    标签: node.js mongodb express mongoose postman


    【解决方案1】:

    您遇到的问题在这里:app.post("api/users/login", (req, res)=&gt;{。您的路径不是以 / 开头的,这意味着您的 express 应用根本不会公开该路径供您的客户(邮递员)使用。

    你怎么知道发生了什么:

    响应码是404,这意味着资源不存在。所以你首先要看的是路径。 postman 中的那个和 express 中的不匹配。

    【讨论】:

    • 非常感谢 我所能做的就是嘲笑我...一直以来,我都在谷歌上徘徊和冲浪,并在墙上撞到了正在发生的事情....原来在我的路线中缺少正斜杠......非常感谢......我现在唯一可以问你的是请对我的问题投赞成票。这样我就可以成长为社区成员.....
    • 所有这些看似愚蠢的问题只是学习过程的一部分。
    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 2020-04-05
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 2021-12-09
    • 2021-07-14
    • 1970-01-01
    相关资源
    最近更新 更多