[英]node js, setting up versions of routes
每当我在不破坏先前版本的情况下更新节点js中的路由时,我都尝试设置不同的版本。
我正在尝试的是:
index.js:
...
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(json());
app.use(authChecker);
require('./routes.js')(app, 'v1'); <-- this line
require('./routes.js')(app, 'v2'); <-- and this line
http.createServer(app).listen(4080);
console.log('Listening on port 4080...');
...
route.js:
module.exports = function(app, version) {
console.log("version", version);
var
IO_ADU = require('./' + version + '/io-add-or-update.js'),
IO_ADD = require('./' + version + '/io-add.js'),
IO_AGG = require('./' + version + '/io-aggregate.js'),
IO_DEL = require('./' + version + '/io-delete.js'),
IO_FIN = require('./' + version + '/io-find.js'),
IO_UPD = require('./' + version + '/io-update.js');
//calls
app.post(version + '/find', IO_FIN.find);
app.post(version + '/aggregate', IO_AGG.aggregate);
app.post(version + '/add', IO_ADD.add);
app.post(version + '/update', IO_UPD.update);
app.post(version + '/delete', IO_DEL.delete);
app.post(version + '/addUpdate', IO_ADU.addOrUpdateIfExist);
};
调用这些路由中的任何一条时得到的响应是:
{protocol=http/1.1, code=404, message=Not Found, url=http://my-ip:4080/v2/addUpdate}
从url中删除版本,并在index.js和route.js中删除版本即可正常工作。 但是如何使它与版本工作或类似功能一起工作?
运行index.js时,我没有任何错误或警告。 当我调用此节点应用程序时,我可以看到已收到呼叫,似乎找不到路由。
有任何想法吗?
就像gillesic在评论中指出的那样,我错过了版本之前的“ /”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.