在Express中获取不能POST /错误

时间:2018-02-19 00:26:59

标签: javascript node.js express kue

我有一个RESTful API,我正在使用邮递员拨打我的路线/网站。每当我拨打电话时,邮递员都说“不能发帖/网站”。我正在尝试实现一个作业队列,我正在使用Express,Kue(Redis)和MongoDB。

这是我的路线档案:

'use strict';
module.exports = function(app) {
// Create a new website
const websites = require('./controllers/website.controller.js');
app.post('/websites', function(req, res) {
  const content = req.body;
  websites.create(content, (err) => {
    if (err) {
      return res.json({
        error: err,
        success: false,
        message: 'Could not create content',
      });
    } else {
      return res.json({
        error: null,
        success: true,
        message: 'Created a website!', content
      });
    }
  })
});
}

这是服务器文件:

const express = require('express');
const bodyParser = require('body-parser');
const kue = require('kue');
const websites = require('./app/routes/website.routes.js')
kue.app.listen(3000);

var app = express();

const redis = require('redis');
const client = redis.createClient();
client.on('connect', () =>{
  console.log('Redis connection established');
})

app.use('/websites', websites);

我从未使用过Express,我不知道这里发生了什么。任何数量的帮助都会很棒!! 谢谢!

1 个答案:

答案 0 :(得分:0)

问题是你如何使用app.use和app.post。你有。

app.use('/websites', websites);

在您拥有的网站内:

app.post('/websites', function....

为了达到该代码,您需要向localhost:3000/websites/websites发帖。您需要做的只是从路线中移除/websites

//to reach here post to localhost:3000/websites
app.post('/' , function(req, res) {

});