我是nodejs的新手,在尝试加载(http://localhost:3000/api/auth/register)时,我不知道为什么会出现(无法获取/api/auth/register)
auth.js文件
const router = require('express').Router();
const User = require('../models/User');
//Register
router.post('/register', async (req,res)=>{
const newUser = new User(
{
username: req.body.username,
email: req.body.email,
password: req.body.password,
}
);
try {
const user = await newUser.save();
res.status(200).json(user);
}
catch (err) {
res.status(500).json(err);
}
});
module.exports = router;
index.js文件
const express = require('express');
const mongoose = require('mongoose');
const dotenv = require('dotenv');
const helmet = require('helmet');
const morgan = require('morgan');
const userRoute = require('./routes/users');
const authRoute= require('./routes/auth');
const app = express();
dotenv.config();
mongoose.connect(process.env.MONGO_URL,{useNewUrlParser:true},()=>{
console.log("Connected to DB");
});
//middleware
app.use(express.json());
app.use(helmet());
app.use(morgan('common'));
app.use('/api/users',userRoute);
app.use('/api/auth',authRoute);
app.listen(3000,()=>{
console.log("backend running");
});
2条答案
按热度按时间xzv2uavs1#
无法获取/API/身份验证/注册
表示你正在发送一个get请求到一个post路由.你已经定义你的register路由为post
没有get路由,这就是为什么你会得到错误,改变请求方法,以张贴无论你是从哪里发送请求。我假设它是 Postman 。
a6b3iqyw2#
如果使用NextAuth.js ;当在pages/API/auth中找不到**[... nextauth].js**文件时,会发生此错误。
请确保文件在那里,并且文件名写得正确。
参考:https://next-auth.js.org/errors#configuration