邮递员不断加载将 POST 请求发送到快速路由

时间:2021-04-08 09:40:16

标签: node.js mongodb express

我为我的注册创建了一个路由和控制器。

这是我的路线:

const express = require("express");
const router = express.Router();
const { signup } = require("../../controllers/auth");

router.post("/signup", signup);

module.exports = router;

这是我的控制器:

exports.signup = () => (req, res) => {
  const { name, email, password } = req.body;
  res.json({
    user: { name, email, password },
  });
};

在我的 server.js 文件中,我同时注册了两个:

const express = require("express");
const morgan = require("morgan");
const cookieParser = require("cookie-parser");
const cors = require("cors");
const mongoose = require("mongoose");
require("dotenv").config();

// routes
const blogRoutes = require("./routes/blog");
const authRoutes = require("./routes/auth");

// app
const app = express();

// db
mongoose
  .connect(process.env.DATABASE, { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log("DB connected!"));

// middlewares
app.use(morgan("dev"));
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
app.use(cookieParser());

// cors
if (process.env.NODE_ENV == "development") {
  app.use(cors({ origin: `${process.env.CLIENT_URL}` }));
}

// routes middleware
app.use("/api", blogRoutes);
app.use("/api", authRoutes);

// port
const port = process.env.PORT || 8000;
app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

现在在我的 POSTMAN 上,我尝试使用带有标题和原始设置的 POST http://localhost:8000/api/signup 来放置数据。

{
    "name": "SyRyan",
    "email": "syryan@gmail.com",
    "password": "brace1010"
}

数据库已连接,但邮递员需要很长时间才能将 json 请求加载回来。我在这里犯了什么错误吗?请帮忙!

1 个答案:

答案 0 :(得分:0)

我认为问题在于 signup 是一个返回函数的函数,但它应该只是一个接收 req & res 作为参数的函数:

exports.signup = (req, res) => {
  const { name, email, password } = req.body;
  res.json({
    user: { name, email, password },
  });
};