Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 获取路由别名上的404_Node.js_Angular - Fatal编程技术网

Node.js 获取路由别名上的404

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只

我对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只返回“/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')