【发布时间】:2021-06-20 18:59:06
【问题描述】:
我有一个创建类别的路线,当我尝试在邮递员中运行它时,它返回一条错误消息“无法发布 /api/category”
我试图一遍又一遍地运行我的代码,但我看不出问题出在哪里。 提前感谢您的帮助
我的架构:
const mongoose = require("mongoose");
const CategorySchema = new mongoose.Schema({
user: {
type: mongoose.Schema.Types.ObjectId,
ref: "user",
},
categoryName: {
type: String,
required: true,
},
date: {
type: Date,
default: Date.now,
},
});
module.exports = Categories = mongoose.model("category", CategorySchema);
我的路线:
const express = require("express");
const router = express.Router();
const auth = require("../../middleware/auth");
const { check, validationResult } = require("express-validator");
const Category = require("../../models/Category");
// @route POST api/category
// @desc Create or update users category
// @access Private
router.post(
"/",
[auth, [check("categoryName", "Category name is required").not().isEmpty()]],
async (req, res) => {
console.log(categoryName);
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
}
);
module.exports = router;
【问题讨论】:
-
我在您的代码中没有看到任何 POST 路由
/api/category。您能说明如何将路由器添加到主快递应用程序吗? -
感谢您与我们联系,我已经编辑了我的帖子。
-
它应该是 /api/category 而不是 / 在你的路线
-
好的,让我再试一次。您能否显示 server.js 中的代码,特别是将您从 routes/api/category.js 导出的路由器添加到主 express 应用程序的部分?我期待像
app.use('/api/category', ..)这样的东西 -
感谢 Molda,这是问题所在。我错过了 server.js 文件中的路由
标签: node.js express mongoose-schema