gpt4 book ai didi

mysql - 当我发布到我最新的 MySQL 表时出现 ReactJS 错误

转载 作者:行者123 更新时间:2023-12-03 22:43:16 25 4
gpt4 key购买 nike

我的 Mysql 数据库中有两个表。当我只有一张 table 时,一切都很完美。我创建了一个新表,当我运行命令“node serve.js”时,它可以工作并且没有错误。
新表用于管理登录用户的信息。当我按下提交按钮时,在“UserInfo.js”文件中编译表单后遇到错误。
enter image description here
在 Postman 上,我收到错误消息,如果我输入 localhost:8080/api/users,我会收到“无法 GET/api/users
我的用户 Controller :

const users = require("../controllers/user.controller.js");

var router = require("express").Router();

// Create a new Tutorial
router.post("/users", users.create);

// Retrieve all Tutorials
router.get("/users", users.findAll);


// Retrieve a single Tutorial with id
router.get("/users/:id", users.findOne);

// Update a Tutorial with id
router.put("/users/:id", users.update);

// Delete a Tutorial with id
router.delete("/users/:id", users.delete);


app.use('/api/users', router);
};
和我的模型 index.js:
const dbConfig = require("../config/db.config.js");

const Sequelize = require("sequelize");
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
host: dbConfig.HOST,
dialect: dbConfig.dialect,
operatorsAliases: false,

pool: {
max: dbConfig.pool.max,
min: dbConfig.pool.min,
acquire: dbConfig.pool.acquire,
idle: dbConfig.pool.idle
}
});

const db = {};

db.Sequelize = Sequelize;
db.sequelize = sequelize;

db.tutorials = require("./tutorial.model.js")(sequelize, Sequelize);



module.exports = db;
我已经阅读了类似问题的答案,并在 stackoverflow 之外搜索了各种教程。
我正在学习并在不到 2 个月前开始,所以不要告诉我谷歌,因为我无法自己解决。
谢谢你的帮助。
解决。新 Controller :
const users = require("../controllers/user.controller.js");

var router = require("express").Router();

// Create a new Tutorial
router.post("/", users.create);

// Retrieve all Tutorials
router.get("/", users.findAll);


// Retrieve a single Tutorial with id
router.get("/:id", users.findOne);

// Update a Tutorial with id
router.put("/:id", users.update);

// Delete a Tutorial with id
router.delete("/:id", users.delete);


app.use('/api/users', router);
};
新模型 index.js:
const dbConfig = require("../config/db.config.js");

const Sequelize = require("sequelize");
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
host: dbConfig.HOST,
dialect: dbConfig.dialect,
operatorsAliases: false,

pool: {
max: dbConfig.pool.max,
min: dbConfig.pool.min,
acquire: dbConfig.pool.acquire,
idle: dbConfig.pool.idle
}
});

const db = {};

db.Sequelize = Sequelize;
db.sequelize = sequelize;

db.tutorials = require("./tutorial.model.js")(sequelize, Sequelize);
db.users= require("./user.model.js")(sequelize, Sequelize)


module.exports = db;

最佳答案

我调查了后端源,但我发现您误解了如何定义路由。

 const users = require("../controllers/user.controller.js");

var router = require("express").Router();

// Create a new Tutorial
router.post("/users", users.create);

// Retrieve all Tutorials
router.get("/users", users.findAll);


// Retrieve a single Tutorial with id
router.get("/users/:id", users.findOne);

// Update a Tutorial with id
router.put("/users/:id", users.update);

// Delete a Tutorial with id
router.delete("/users/:id", users.delete);


app.use('/api/users', router);
};
这是您定义的后端源,但您正在使用 app.use 来定义路由,因此您可以像这样通过/api/users/[sub-url] 调用端点
端点:本地主机:8080/api/users/users
方法:POST
如果你想使用像 localhost:8080/api/users 这样的端点,那么你应该像这样定义后端路由。
const users = require("../controllers/user.controller.js");

var router = require("express").Router();

// Create a new Tutorial
router.post("/", users.create);

// Retrieve all Tutorials
router.get("/", users.findAll);


// Retrieve a single Tutorial with id
router.get("/:id", users.findOne);

// Update a Tutorial with id
router.put("/:id", users.update);

// Delete a Tutorial with id
router.delete("/:id", users.delete);


app.use('/api/users', router);
};
我希望这对你有帮助。
问候。

关于mysql - 当我发布到我最新的 MySQL 表时出现 ReactJS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64285236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com