获取不能 POST / Express 中的错误
Getting cannot POST / error in Express
我有一个 RESTful API,我正在使用邮递员呼叫我的路线/网站。每当我打电话时,邮递员都会说 "Cannot POST /websites"。我正在尝试实现一个作业队列,我正在使用 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,我不知道这里发生了什么。任何帮助都会很棒!!
谢谢!
问题在于您如何使用 app.use 和 app.post。你有。
app.use('/websites', websites);
您拥有的内部网站:
app.post('/websites', function....
因此,要获得该代码,您需要将 post 设为 localhost:3000/websites/websites
。您需要做的只是从您的路线中删除 /websites
。
//to reach here post to localhost:3000/websites
app.post('/' , function(req, res) {
});
我有一个 RESTful API,我正在使用邮递员呼叫我的路线/网站。每当我打电话时,邮递员都会说 "Cannot POST /websites"。我正在尝试实现一个作业队列,我正在使用 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,我不知道这里发生了什么。任何帮助都会很棒!! 谢谢!
问题在于您如何使用 app.use 和 app.post。你有。
app.use('/websites', websites);
您拥有的内部网站:
app.post('/websites', function....
因此,要获得该代码,您需要将 post 设为 localhost:3000/websites/websites
。您需要做的只是从您的路线中删除 /websites
。
//to reach here post to localhost:3000/websites
app.post('/' , function(req, res) {
});