My code is below, I just have a simple setup for now to make sure my routes are working but im encountering a 404 error. I have an app.all thats catching the error but i dont know where the error is happening at.
heres my index.js file where I have my express server setup running the error catching app.all is in this file
const express = require('express')
const cors = require('cors')
const app = express()
const PORT = process.env.PORT || 8000
app.use(cors())
app.use(express.urlencoded({ extended: true }))
const userRoutes = require('./routes/users.js')
app.get('/', (req, res) => {
res.send('backened is up')
})
app.use('/', userRoutes)
app.all('*', (req, res, ) => res.send('That route does not exist!'))
app.listen(PORT, () => console.log(`Server running on port ${PORT}`))
heres my routes file where im retrieving the data from the users file.
const express = require('express');
const { getUsers, createUser, deleteUser } = require('../controllers/users.js')
const router = express.Router();
router.get('./users', getUsers)
router.post('./user', createUser)
module.exports = router;
and lastly heres my users file inside my controllers file where im setting up data for the client side
const {v4 : uuidv4} = require('uuid')
let users = []
exports.getUsers = (req, res) => {
try {
res.send(users)
} catch (error) {
console.error(error)
}
}
exports.createUser = (req, res) => {
try {
const user = req.body
users.push({...user, id: uuidv4()})
res.send("User Added Successfully!")
} catch (error) {
console.error(error)
}
}
Change these:
router.get('./users', getUsers)
router.post('./user', createUser)
to this:
router.get('/users', getUsers)
router.post('/user', createUser)
You don't use ./ and ../ in route definitions. Route paths are already relative to whatever the path was when the request was sent to that router.