Node.js 获取路由别名上的404
我对Node和angular是个新手,我想知道为什么我的应用程序会抛出404。 以下是我在Firebug中看到的主要错误:Node.js 获取路由别名上的404,node.js,angular,Node.js,Angular,我对Node和angular是个新手,我想知道为什么我的应用程序会抛出404。 以下是我在Firebug中看到的主要错误: Cannot GET /api/user 在my server.js中,我对路由进行了调用: var express = require('express'); var app = express(); require('./routes')(app) 在routes文件夹中,我有index.js(看起来它是通过上面的require调用的) restUtils只
Cannot GET /api/user
在my server.js中,我对路由进行了调用:
var express = require('express');
var app = express();
require('./routes')(app)
在routes文件夹中,我有index.js(看起来它是通过上面的require调用的)
restUtils只返回“/api/user”,而用户api只是同一routes文件夹中的另一个路由。
我可以将console.log放在module.exports中,以便在服务器启动时看到它在那里。它似乎正在为api/用户生成别名。然而,当应用程序查找api/用户时,它返回404
以下是user-api.js中的一个片段:
var router = require('express').Router(),
config = require('../conf/config'),
logger = require('../lib/logger'),
restUtils = require('../lib/rest-utils');
console.log("Inside User-Api");
router.get('/', function(req,res) {
console.log("Inside user-api - router.get");
if (config.debug && config.secured) logger.info('USER: ', req.user)
var user = {
id: req.user ? req.user.id : '',
displayName: req.user ? req.user.displayname : 'Unknown User',
roles: req.user ? req.user.appRoles : [],
groups: req.user ? req.user.appGroups : [],
profile: req.user ? req.user.profile : {}
};
res.format({
json: function() {
res.send(user);
}
});
});
module.exports = router;
我在服务器启动时看到了第一个console.log,但它从未落入router.get
请让我知道,如果你认为我应该在不同的地方显示更多的代码-只是不知道需要什么来尝试和解决这个404!可能用户api路由在调用路由器时未能加载。get?我想我对路由和模块还不够了解。
谢谢 错误显示:
Cannot GET /api/user
所以它试图得到一条不存在的路线。您可以为/api/user添加一个get-route,我想这将修复错误
app.get("/api/user",function(req,res){})
我希望这能帮助你解决目前存在的问题
restUtils.buildUrl('/api/user')
它返回一个字符串“api/user”,它需要是“/api/user”你能发布所有用户的api吗。。。发布了user-api.js的其余部分。我猜req语句是从用户证书中提取的。当用户第一次访问站点时,该证书被传入。再说一次,它似乎永远也进不了路由器。谢谢你的关注!您能在user-api.js的末尾尝试module.exports=router吗。。。同样的错误。更新了上面的代码。谢谢你的建议哈,我想如果你不在user-api.js上module.export,nodejs应该崩溃。当您删除restUtils.buildUrl并仅在index.js中使用“/api/user”时会发生什么?我想您可能已经了解了一些情况。我做了那些改变,虽然我不再得到404。。。firebug只是向“GET user”展示了一个小小的旋转轮子(就像它仍在尝试加载某些东西)。最终状态是:中止。我仔细看了看。。。原来restUtils返回的是“api/user”而不是“/api/user”!
restUtils.buildUrl('/api/user')