在我的 React 应用程序中进行 API 调用时出现 404 错误

问题描述 投票:0回答:0

我有一个包含 auth.js 文件的路由文件夹,我在其中编写了用于注册用户的 API 发布请求。

服务器/路由/auth.js

const express = require("express");
const router = express.Router();
const User = require("../models/User");
const bcrypt = require("bcrypt");

//Register User
router.post("/register", async(req,res)=>{
    try {
        //Generate hashed password
        const salt = await bcrypt.genSalt(10);
        const hashedPassword = await bcrypt.hash(req.body.password, salt);

        //Create new user
        const newUser = new User({
            firstName: req.body.firstName,
            lastName: req.body.lastName,
            email: req.body.email,
            password: hashedPassword,
            phoneNumber: req.body.phoneNumber,
            dateOfBirth: req.body.dateOfBirth,
            location: req.body.location,
        });

        //Save user to DB and return response
        const user = await newUser.save();
        res.status(200).json(user);
    } catch (err) {
        res.status(500).json(err);
    }
});

module.exports = router;

服务器/index.js

// import modules
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const morgan = require('morgan');
const helmet = require("helmet");
require("dotenv").config();

const authRoute = require('./routes/auth');

// db
mongoose.connect(process.env.MONGO_URI, { 
    useNewUrlParser: true,
    useUnifiedTopology: true,
}).then(() => console.log("DB Connected")).catch(err => console.log("DB Connection Error", err));


// middleware
app.use(express.json());
app.use(helmet());
app.use(morgan("common"));

// routes
app.use("/server/auth" , authRoute);

// port
const port = process.env.PORT || 8080;

// listener
const server = app.listen(port, () => 
    console.log(`Server is running on port ${port}`)
    );

据此,我认为我需要制作的正确 API URL 是: http://localhost:8080/server/auth/register

拥有以下身材:

{
    "firstName": "Jenny",
    "lastName": "Doe",
    "email": "[email protected]",
    "password": "jenny123",
    "phoneNumber": "2261234567",
    "dateOfBirth": "11/11/1999",
    "location": "Toronto, Ontario"
}

这些参数是我的用户模式中需要的参数。

进行 API 调用时,我在 Postman 中收到以下错误: Postman Screenshot

我到处找答案,我似乎无法弄清楚它是什么。也许我缺少某些依赖项或其他东西。 任何帮助表示赞赏!

reactjs express postman mern api-design
© www.soinside.com 2019 - 2024. All rights reserved.