index.js import express from "express"; import cors from "cors"; import mongoose from "mongoose"; import { userRouter } from "./routes/users.js" import { recipesRouter } from "./routes/recipes.js" const app = express(); app.use(express.json()); app.use(cors()); app.use("/auth", userRouter); app.use("/recipes", recipesRouter); mongoose.connect( "xxxxxxxxxxxxxxxxxxxxxx" ); app.listen(3001, () => console.log("SERVER STARTED"));
router
import express from "express"; import mongoose from "mongoose"; import { RecipeModel } from "../models/Recipes.js" import { UserModel } from "../models/User.js"; const router = express.Router(); router.get("/createrecipe/:id", async (req, res) =>{ let result =await RecipeModel.findOne({id:req.params.id}); if(result){ res.send(result) }else{ res.send('no recipe') }})
Postman
get--http://localhost:3001/createrecipe/1
<body> <pre>Cannot GET /createrecipe/1</pre> </body>
You need to view the details of the single item in the details page and postman.
In
app.use("/recipes",recipesRouter)
, you are adding the/recipes
prefix to all routes inrecipesRouter
, but you Callinghttp://localhost:3001/createrecipe/1
instead ofhttp://localhost:3001/recipes/createrecipe/1