basically when i change "http://localhost:5000/api/users" to "http://localhost:5000/api/posts" in Create Request its giving me error if i leave it as it is which is "http://localhost:5000/api/users" if functions properly but for some damn reason postman is giving me this error which is shown in the picture and wont tell me whats causing it. anybody got any anwer? Error is described here
Cannot POST /api/posts
post.model.js
"
const {model, Schema } = require(`mongoose`)
const postSchema = new Schema (
{
user_id: {
type: Schema.Types.ObjectId,
ref: `User`,
required:true
},
title: {
type: String,
required: true
},
body: {
type: String,
required: true
}
},
{timestamps: true, versionKey: false}
)
module.exports = model('Post', postSchema);
"
post.controller.js
"
const Post = require(`../models/post.model`)
// @desc Get todos
// @route Get /api/todos
// @acsses Public
exports.getAll = async (request, response)=> {
const posts = await Post.find();
response.status(200).json({ sucsses: true, posts: posts})
}
// @desc Get todo
// @route GET /api/todo/:id
// @acsses Public
exports.getOne = async (request, response)=> {
const post = await Post.findById({ _id: request.params.id});
response.status(200).json({ sucsses: true, post: post})
}
// @desc Create todo
// @route POST /api/todo
// @acsses Public
exports.create = async (request, response)=> {
const post = await Post.create(request.body);
response.status(200).json({ sucsses: true, post: post})
}
// @desc Update todos
// @route Get /api/todos/:id
// @acsses Public
exports.updateOne = async (request, response)=> {
const post = await Post.findByIdAndUpdate(request.params.id, request.body, {new : true, runValidators: true})
response.status(200).json({ sucsses: true, post: post})
}
exports.deleteOne = async (request, response)=> {
const post = await Post.findByIdAndDelete(request.params.id)
response.status(200).json({ sucsses: true, post: post.id})
}
post.routes.js
"
const { Router } =require("express");
const { create, deleteOne, getAll, getOne, updateOne } = require("../controller/post.controller");
const router = Router()
router.route("/")
.get(getAll)
.post(create)
router.route("/:id")
.get(getOne)
.put(updateOne)
.delete(deleteOne)
module.exports = router;
server.js
"
const express = require("express")
const chalk = require("chalk")
const connectDatabase = require(`./api/config/connect.database`)
// =========== Aplication Routes =====
const user_routes = require("./api/routes/user.routes")
const todo_routes = require("./api/routes/todo.routes")
const post_routes = require("./api/routes/post.routes")
const comment_routes = require("./api/routes/comment.routes")
const album_routes = require("./api/routes/album.routes")
const photo_routes = require("./api/routes/photo.routes")
const app = express();
// Incoming Request body parser?======
app.use(express.json())
app.use(express.urlencoded({ extended: true}))
connectDatabase();
app.use(`/api/users`, user_routes)
app.use(`/api/todos`, todo_routes)
app.use(`/api/post`, post_routes)
app.use(`/api/comoment`, comment_routes)
app.use(`/api/album`, album_routes)
app.use(`/api/photo`, photo_routes)
const PORT = 5000
const SERVER_MODE = "development"
app.listen(PORT, ()=> {
console.log(chalk.bold.yellow(`Server running in ${SERVER_MODE} mode on port ${PORT}`));
})
connect.database.js
"
const mongoose = require("mongoose")
const chalk = require(`chalk`)
const connectDatabase = async ()=> {
const connect = await mongoose.connect("mongodb+srv://xynlep:123@project.41nkj.mongodb.net/members-api-reactional")
console.log(chalk.bold.cyan(`Mongo Connected: ${connect.connection.host}`))
}
module.exports = connectDatabase;
i tryed checking code if thers some mistake in it but everythings perfectly fine not 100% sure tho but since it doenst give me reason why it cant send create request i really couldn't try anything else but google