Я пытаюсь отправить запрос на сервер для того, чтобы закинуть их в базу данных, но постоянно вылезает ошибка
POST http://localhost:3000/api/auth/register 500 (Internal Server Error)
И я все что только можно делал, пытался но не получается
Может у вас есть хоть какие-то идеи? Я в Бэке новичок и я просто хз что делать, ибо я с помощью прокси пофиксил проблему с Роутом и сейчас все ок, но ошибка 500
Вот у меня Основной скрипт сервера
app.use('/api/auth', require('./routers/authRouter'));
Это роутеры где производятся основные манипуляции
const {Router} = require('express');
const router = Router();
const User = require('../models/user');
const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
const config = require('../config/default.json')
router.post('/register', async (req, res) => {
try {
const {email, name, password } = req.body;
const candidate = await User.findOne({email});
if (candidate) {
return res.status(400).json({messenge: "Такой пользователь уже существует"})
}
const hashedPassword = await bcrypt.hash(password, 8);
const user = new User({email, name, password: hashedPassword });
await user.save()
res.status(201).json({messenge: "Новый пользователь создан"})
}
catch (e) {
res.status(500).json({ messenge: 'Что-то пошло не так' })
}
})
Напписал Хук для Fetch
import { useCallback, useState } from "react"
export function useHttp() {
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null)
const request = useCallback(async (url, method = 'GET', body = null, headers = {}) => {
setLoading(true)
try {
const req = await fetch(url, {
method, body, headers
})
const data = await req.json()
setLoading(false)
if(!req.ok) {
throw new Error(data.messege)
}
}
catch(e) {
setLoading(false);
setError(e.messege);
throw e
}
}, [])
const clearError = () => setError(null)
return {error, loading, request, clearError}
}
И на клиенте при нажатии на кнопку вызваю эту функцию
const Register = async(values) => {
try {
const data = await request('/api/auth/register', 'POST', values)
console.log(data)
}
catch(e) {
console.log("Error" + e.name)
}
}
Сделал Прокси
"proxy": "http://localhost:5000/",