Node.js 浏览器无法找到快速路由URL终结点
当我使用Postman或在浏览器中请求测试api路由时,我在Node.js 浏览器无法找到快速路由URL终结点,node.js,express,server,routes,Node.js,Express,Server,Routes,当我使用Postman或在浏览器中请求测试api路由时,我在users/:1(服务器控制台中无错误)的浏览器控制台中收到404错误。现在应用程序中几乎没有什么功能,只是尝试按照教程(Brad Traversy在Udemy上的React前后路线)设置和测试我的路线。到目前为止,我已经回顾了所有的说明,并在教程的GH repo中对照完整的代码库检查了我的代码,它看起来是正确的,但我确信我遗漏了一些小东西。所有依赖项都已通过NPM安装和审核。以下是代码: server.js //* Dependenc
users/:1
(服务器控制台中无错误)的浏览器控制台中收到404错误。现在应用程序中几乎没有什么功能,只是尝试按照教程(Brad Traversy在Udemy上的React前后路线)设置和测试我的路线。到目前为止,我已经回顾了所有的说明,并在教程的GH repo中对照完整的代码库检查了我的代码,它看起来是正确的,但我确信我遗漏了一些小东西。所有依赖项都已通过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}`));
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;
users.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}`));
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
这是因为您没有为
users/:1
endpoint编写服务器代码
您可以测试的是从Postman ar
用户发送一个POST请求,当您res.send(req.body)
在users.js
中发送请求时,它将给您一个结果,我的问题是,在Postman中,我将请求类型设置为默认的“get”,即使我的路由是用于POST请求。将他们的req类型更改为POST模拟了通过我的路线发布数据,并按预期工作。到目前为止,浏览器不适合测试我的代码,因为我没有任何东西可以发布。谢谢@TheWellhopeer这是我输入到浏览器和postman中的内容,两个版本中都出现了相同的错误:。:1不是通过路由传入的id,它只是浏览器控制台识别错误发生的位置