【发布时间】:2021-04-01 09:20:41
【问题描述】:
当我使用 Postman 或在浏览器中发出请求来测试我的 api 路由时,我在浏览器控制台 users/:1 中收到 404 错误(服务器控制台中没有错误)。现在应用程序中的功能很少,只是尝试按照教程(Brad Traversy 在 Udemy 上的 React Front to Back 课程)并设置和测试我的路线。到目前为止,我已经查看了所有说明,并根据教程的 GH 存储库中完整的代码库检查了我的代码,它似乎是正确的,但我确信我遗漏了一些小东西。所有依赖项都已通过NPM 安装和审核。下面是代码:
server.js
//* Dependencies
const express = require("express");
const connectDB = require("./config/db");
const path = require("path");
const app = express();
//* Connect to database
connectDB();
//* Init Middleware
app.use(express.json({ extended: false }));
//*Define routes
app.use("/api/users", require("./routes/users"));
app.use("/api/auth", require("./routes/auth"));
app.use("/api/contacts", require("./routes/contacts"));
const PORT = process.env.PORT || 8080;
//*Initialize server
app.listen(PORT, () => console.log(`Server listening on port ${PORT}`));
users.js
const express = require("express");
const router = express.Router();
const config = require("config");
const User = require("../models/User");
//* @route: POST api/users
//* @desc: register a user
//* @access: Public
router.post("/", (req, res) => {
res.send(req.body);
});
module.exports = router;
package.json
{
"name": "openhousev2",
"version": "0.1.0",
"description": "Open Source Contact Management Platform\u001b[1;5D\u001b[1;5D\u001b[1;5D\u001b[1;5D\u001b[1;5D",
"main": "server.js",
"scripts": {
"start": "node server.js",
"server": "nodemon server.js"
},
"author": "LucSedirae",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"bcryptjs": "^2.4.3",
"config": "^3.3.3",
"express": "^4.17.1",
"express-validator": "^6.8.1",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.11.8"
},
"devDependencies": {
"concurrently": "^5.3.0",
"nodemon": "^2.0.6"
}
}
文件结构
.
|-- server.js
|-- package.json
|-- __routes
|-- users.js
|-- auth.js
|-- contacts.js
|-- __models
|-- User.js
|-- __config
|-- db.js
|-- default.json
【问题讨论】:
标签: node.js express server routes