最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在 Insomnia 中测试时无法让 API 工作

网站源码admin49浏览0评论

在 Insomnia 中测试时无法让 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 变量都被称为相同之外,我在您的代码中找不到任何奇怪的东西(也许我看起来不正确)。那么您可以检查您的服务器是否正在运行并更改这些内容吗?

发布评论

评论列表(0)

  1. 暂无评论