测试时无法让 API 工作"/>
在 Insomnia 中测试时无法让 API 工作
我是后端开发的新手,正在从事我的第一个项目。我正在使用 React Node.js 和 MySQL。当我在 Insomnia 中测试我的 API 时,我不断收到“错误:无法连接到服务器”。我输入了 POST 类型,URL 是 http://localhost:8900/api/auth/register。有人能帮我找出我做错了什么吗?
我尝试输入 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abcabc';在我在 MySQL 中使用的每个表中
我的代码文件如下:
索引.js
import express from 'express';
const app = express();
import userRoutes from "./routes/auth.js"
import userRoutes from "./routes/users.js"
import userRoutes from "./routes/posts.js"
app.use(express.json())
app.use("/api/auth", userRoutes)
app.use("/api/users", userRoutes)
app.use("/api/posts", userRoutes)
app.listen(8900, ()=>{
console.log("API working!")
});
Auth.js 在我的控制器文件中:
import { db } from "../connect.js";
import bcrypt from "bcryptjs";
export const register = (req, res) => {
//CHECK USER IF EXISTS
const q = "SELECT * FROM users WHERE username = ?";
db.query(q, [req.body.username], (err, data) => {
if (err) return res.status(500).json(err);
if (data.length) return res.status(409).json("User already exists!");
//CREATE A NEW USER
//Hash the password
const salt = bcrypt.genSaltSync(10);
const hashedPassword = bcrypt.hashSync(req.body.password, salt);
const q =
"INSERT INTO users (`username`,`email`,`password`,`name`) VALUE (?)";
const values = [
req.body.username,
req.body.email,
hashedPassword,
req.body.name,
];
db.query(q, [values], (err, data) => {
if (err) return res.status(500).json(err);
return res.status(200).json("User has been created.");
});
});
};
export const login =(req, res)=>{
}
export const logout = (req,res)=>{
}
Auth.js 在我的根 folfer:
import express from "express";
import { login, register, logout } from "../controllers/auth.js";
const router = express.Router()
router.post("/login", login)
router.post("/register", register)
router.post("/logout", logout)
export default router
connect.js 在我的路线文件夹中:
import mysql from "mysql"
export const db = mysql.createConnection(
{
host:"localhost",
user:"root",
password:"abcabc",
database: "social"
}
)
routes 文件夹中的 users.js:
import express from "express";
import { getUser } from "../controllers/user.js";
const router = express.Router()
router.get("/find:userId", getUser)
export default router
posts.js 在路线中:
import express from "express";
import { getPosts } from "../controllers/post.js";
const router = express.Router();
router.get("/", getPosts);
export default router;
回答如下:
当 insomnia 在发送数据时无法从服务器获得任何响应时,您会收到此错误。除了所有 Routes 变量都被称为相同之外,我在您的代码中找不到任何奇怪的东西(也许我看起来不正确)。那么您可以检查您的服务器是否正在运行并更改这些内容吗?
更多推荐
在 Insomnia 中测试时无法让 API 工作
发布评论