我正在尝试访问我的路由"posts.js",但是当我启动服务器并连接到localhost:5000/post时。此错误显示为"Cannot GET/posts“
代码: server/routes/posts.js
import express from 'express';
import { getPost, createPost } from '../controller/posts.js'
const router = express.Router();
router.get('/', getPost);
router.post('/', createPost);
export default router;代码:server/model/postMessages.js
import mongoose from 'mongoose';
const postSchema = mongoose.Schema({
title: String,
message: String,
creator: String,
tags: [String],
selectedFile: String,
likeCount: {
type: Number,
default: 0
},
createdAt: {
type: Date,
default: new Date()
},
});
const PostMessage = mongoose.model('PostMessage', postSchema);
export default PostMessage;代码: server/controller/posts.js
import PostMessage from '../models/postMessages.js'
export const getPost = async (req, res) => {
try {
const postMessages = await PostMessage.find();
res.status(200).json(postMessages);
} catch(error) {
res.status(404).json({ message: error.message });
}
};
export const createPost = (req, res) => {
res.send('Posts creation');
};并在启动服务器时在终端中显示以下内容
[nodemon] starting `node index.js`
(node:12344) ExperimentalWarning: The ESM module loader is experimental.
Server running on PORT 5000: 发布于 2020-12-23 09:38:37
您需要将router.get('/', getPost);更改为router.get('/posts', getPost);,因为现在它在'/‘上响应,但您希望它在'/posts’上响应
发布于 2020-12-23 09:38:37
您需要为/posts定义一个路由。
在posts.js文件中,添加router.get('/posts', getPost);
import express from 'express';
import { getPost, createPost } from '../controller/posts.js'
const router = express.Router();
router.get('/', getPost);
router.get('/posts', getPost);
router.post('/', createPost);
export default router;https://stackoverflow.com/questions/65417985
复制相似问题