我是新的节点,我试图使用REST api,但它不工作。下面是我正在使用的代码:
app.js
import express from "express";
import cors from "cors";
import dotenv from "dotenv";
import conn from "./conn.js";
import users from "./routes/users.route.js";
dotenv.config();
const app = express();
app.use(express.json());
app.use(cors);
const port = process.env.PORT || 8000;
//using this to check if app.get() was working or not.
app.get("/", (req, res) =>{
res.send("Getting some data");
});
app.use("/api/users", users);
app.use("*", (req, res) =>{
res.status(400).json({ error: "Invalid Request URL" });
});
if (conn) {
app.listen(port, () =>{
console.log(`Server is running on port: ${port}`);
});
}
conn.js
import mysql from "mysql";
const conn = mysql
.createPool({
host: "localhost",
user: "root",
password: "",
database: "cruddatabase",
});
export default conn;
users.route.js
import express from "express";
import userController from "../controller/user.controller.js";
const router = express();
router.route("/").get(userController.getUpayaUser);
export default router;
user.controller.js
export default class userController {
static async getUpayaUser(req, res, next) {
console.log("here");
res.json("User Controller");
}
}
这里我没有做任何复杂的事情,但我只是想安慰一些东西,看看它是否工作,然后继续做更多的事情。当运行nodemon app.js时,我确实得到了"服务器在端口5000上运行"的日志;但这之后什么都没有。我正在使用邮差来检查响应,它显示一个消息"无法得到响应"。在进一步的测试中,我发现请求被卡住了。app.get('/')
工作,但它花了10分钟+返回一个简单的文本。
changeapp.use(cors)
toapp.use(cors())