首页 > 解决方案 > 无法 POST /api/auth/login%0A posman 错误

问题描述

现在我在 node.js 上制作一个应用程序并表达并在 Postman 中发出请求时遇到了这样的错误

Cannot POST /api/auth/login%0A 

我在这里包括 app.js 、 auth.js 、 controller.js 文件

应用程序.js

const express = require('express');
const bodyParser = require('body-parser')
const authRoute = require('./routes/auth')
const analyticsRoutes = require('./routes/analytics')
const categoryRoutes = require('./routes/category')
const orderRoutes = require('./routes/order')
const positionRoutes = require('./routes/position')
const app = express();
app.use(bodyParser.urlencoded({extended:true}))
app.use(bodyParser.json())


app.use('/api/auth', authRoute);
app.use('/api/analytics', analyticsRoutes);
app.use('/api/category', categoryRoutes);
app.use('/api/order', orderRoutes);
app.use('/api/position', positionRoutes);

auth.js 也是相同的路由/文件,如分析、订单、控制器文件夹中的位置,但它们现在是空的。

const express = require('express');
const controller = require('../controller/auth');
//const analytics = require('../controller/analytics')
const router = express.Router();

//localhost:5000/api/auth/login/

router.post('login', controller.login)
router.post('/register', controller.register)

module.exports = router;

auth.js(在控制器文件夹中)

module.exports.login = function(req, res) {
  res.status(200).json({
    login: {
      email: req.body.email,
      pass: req.body.pass
    }
  });
}

module.exports.register = function(req, res) {


}

const app = require('./app');

const port = process.env.PORT || 5000;




app.listen(port, () =>
  console.log(`Server has been started from port ${port}`))
浏览器中的 index.js 获取请求正在工作,但邮递员中没有发布。我尝试使用 bodyparser 但它不起作用。在邮递员中,我正确输入了数据。通过并登录json。

文件夹结构 index.js app.js ---routes auth.js order.js ... ---controllers auth.js order.js ...

标签: javascripthtmlnode.jsexpresspost

解决方案


遵循代码有点困难,但尝试在 routes/auth.js 中的登录路由上添加正斜杠

router.post('login', controller.login) -> router.post('/login', controller.login)

你也不需要使用 Bodyparser。你可以在 app.js 中使用 express 来做同样的事情:

app.use(express.json());
app.use(express.urlencoded({ extended: false }));

推荐阅读