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

编程入门 行业动态 更新时间:2024-10-04 15:38:56

在 Insomnia 中<a href=https://www.elefans.com/category/jswz/34/1771117.html style=测试时无法让 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 工作

本文发布于:2024-05-30 17:09:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770731.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试   工作   Insomnia   API

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!