Я не могу подключить свой бэкэнд к своему почталью, пытаясь протестировать API в проекте MERNJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Я не могу подключить свой бэкэнд к своему почталью, пытаясь протестировать API в проекте MERN

Сообщение Anonymous »

Итак, я создаю базовый проект с использованием Mern, когда я пытаюсь проверить свой API для моего бэкэнда, используя почтальон, он не подключает его ответа с 500 ошибкой сервера. Мой бэкэнд -сервер работает, так что моя база данных. Я добавил свой бэкэнд -код, пожалуйста, дайте мне знать, где я совершаю ошибку.
Адрес, который я звонил в почтальон с методом Post http: // localhost: 4000/api/v1/register

это даже не регистрирует сообщение console.log, которое я передал в функции регистра < /p>

Код: Выделить всё

import express from 'express';
import dotenv from 'dotenv';
import connectDB from './config/db.js';
import todoRoutes from './routes/todoRoutes.js';
import userRoutes from './routes/userRoutes.js';
import cors from 'cors';
import cookieParser from 'cookie-parser';

// Initialize express app
const app = express();

// Load environment variables from the custom path (config/.env)
dotenv.config({ path: 'backend/config/config.env' });
const PORT = process.env.PORT;
// Middleware
app.use(express.json());
const router = express.Router();
// app.use(cors());
app.use(cors({
origin: 'http://localhost:3000', // Replace with your React app URL
credentials: true, // Allow cookies in cross-origin requests
}));
app.use(cookieParser());

// Routes
app.use("/api/v1", todoRoutes);
app.use("/api/v1", userRoutes);

// Connect to MongoDB
connectDB()

// Start server
app.listen(PORT, () =\> {
console.log(`Server running on port ${PORT}`);

});
< /code>

import express from 'express';
import { registerUser, loginUser,logout, loadUser } from   '../controllers/userController.js';
import isAuthenticated from '../middleware/authMiddleware.js';

const router = express.Router();

router.route("/register").post(registerUser);
router.route("/login").post(loginUser);
router.route("/logout").get(logout);
router.route("/user").get(isAuthenticated,loadUser);
export default router;
< /code>

import User from '../models/userModel.js';
import Todo from '../models/todoModel.js';

const registerUser = async (req, res) =\> {
console.log(req.body);
console.log("hi");

const { name, email, password } = req.body;
console.log(name, email, password);
console.log(name, email);

if (!name || !email || !password) {
return res.status(400).json({ message: 'Please fill in all fields' });
}

try {

const userExists = await User.findOne({ email });

if (userExists) {
return res.status(400).json({ message: 'User already exists' });
}

const newUser = new User({ name, email, password });
console.log(email, password,name);
const user = await newUser.save();

const token = await user.generateToken();

const options = {
expires: new Date(Date.now() + 90 * 24 * 60 * 60 * 1000),
httpOnly: true,
};
res.status(201).cookie("token", token, options).json({
success: true,
user,
token,
});

} catch (error) {
console.error("Error during user registration:", error);
res.status(500).json({ message: 'Server error' });
}
};
Я ищу решение на разных ИИ, но не смог его найти.

Подробнее здесь: https://stackoverflow.com/questions/794 ... o-test-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»