message : "Request failed with status code 404" name : "AxiosError"

Viewed 42

I've been struggling to make the usersRoute work. I keep getting the error message: "Request failed with status code 404" name: "AxiosError", get request is working but post not - Cannot POST /api/users/register. Could you help me figure this out, please? Thank you

usersRoute code is this:

const express = require("express");
const router = express.Router();
const User = require("../models/userModel");


router.post("/login", async(req, res) => {

const {username , password} = req.body

try {
    const user = await User.findOne({username , password})
    if(user){
        res.send(user)
    }
    else{
        return res.status(400).json(error);
    }
} catch (error) {
    return res.status(400).json(error);
}

});

router.post("/register", async(req, res) => {


try {
    const newuser = new User(req.body)
    await newuser.save()
    res.send('Korisnik uspešno registrovan')
} catch (error) {
    return res.status(400).json(error);
}

});

module.exports = router

userAction:

import axios from 'axios'
import {message} from 'antd'

export const userLogin=(reqObj)=>async dispatch=>{
    
    dispatch({type: 'LOADING', payload:true})

    try {
        const response = await axios.post('/api/users/login', reqObj)
        localStorage.setItem('user', JSON.stringify(response.data) )
        message.success('Prijava uspela')
        dispatch({type: 'LOADING', payload:false})
        setTimeout(() => {
            window.location.href='/'
            
        }, 500);
    } catch(error) {
        console.log(error)
        message.error('Pokušajte ponovo')
        dispatch({type: 'LOADING', payload:false})

    }

}

export const userRegister=(reqObj)=> async dispatch =>{
    
    dispatch({type: 'LOADING', payload:true})

    try {
        const response = await axios.post('/api/users/register' , reqObj)
        message.success('Registracija uspela')
        setTimeout(() => {
            window.location.href='/login'
            
        }, 500);
        window.location.href='/login'
        dispatch({type: 'LOADING', payload:false})
        
    } catch(error) {
        console.log(error)
        message.error('Pokušajte ponovo')
        dispatch({type: 'LOADING', payload:false})

    }

}

server.js:

const express = require('express')
const app = express()
const port = process.env.PORT || 5000
const dbConnection = require('./db')
app.use(express.json())


app.use('/api/cars/', require('./routes/carsRoutes'))
app.use('/api/users/', require('./routes/usersRoute'))
app.get('/', (req,res) => res.send('Hello World'))
app.listen(port, () => console.log(`Node JS Server Started in Post ${port}`))

userModel:

const mongoose = require("mongoose");
const userSchema = new mongoose.Schema({
    username : {type:String , required : true},
    password : {type:String , required : true}

})

const userModel = mongoose.model('users' , userSchema)
module.exports = userModel

package.json:

"proxy": "http://localhost:5000/"
0 Answers
Related