节点无法POST / api / register

时间:2017-09-26 15:42:28

标签: node.js

我不知道为什么我得到了无法POST错误。我正在通过正确的路线。服务器正在侦听端口。

index.js

const router = require('./router');
var app = express()
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

var server = app.listen(process.env.PORT || 8080, function() {
    var port = server.address().port;
    console.log("App now running on port", port);
  });

router(app);

router.js

const Authentication = require('./authentication');
const express = require('express');
const passport = require('passport');

const requireAuth = passport.authenticate('jwt', { session: false });
const requireLogin = passport.authenticate('local', { session: false });

module.exports = function(app) {

  const apiRoutes = express.Router();
  const authRoutes = express.Router();

  apiRoutes.use('/auth', authRoutes);
  authRoutes.post('/login', requireLogin, Authentication.login);
  authRoutes.post('/register', Authentication.register);
  app.use('/api', apiRoutes);

};

1 个答案:

答案 0 :(得分:1)

您尝试访问/api/register,但请查看您注册路由器的方式:

apiRoutes.use('/auth', authRoutes);
authRoutes.post('/login', requireLogin, Authentication.login);
authRoutes.post('/register', Authentication.register);
app.use('/api', apiRoutes);

您已authRoutes成为apiRoutes的孩子,因此/register正在api/auth/register投放{。}}。

当你有几台路由器相互连接起来时,很容易犯错:)

相关问题