首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在路由别名上获得404

在路由别名上获得404
EN

Stack Overflow用户
提问于 2018-06-14 23:52:01
回答 1查看 64关注 0票数 0

我是Node和angular的新手,并试图弄清楚为什么我的应用程序会抛出404。下面是我在Firebug中看到的主要错误:

代码语言:javascript
复制
 Cannot GET /api/user

在我的server.js中,我调用了路由:

代码语言:javascript
复制
 var express = require('express');
 var app = express();
 require('./routes')(app)

在routes文件夹中,我有index.js (它看起来像是用上面的require调用的)。

代码语言:javascript
复制
 module.exports = function(app) {
    app.use(restUtils.buildUrl('/api/user'), require('./user-api'));
 }

restUtils只返回:'/api/user‘,而user-api只是同一路由文件夹中另一个路由。我可以在module.exports中放置一个console.log,这样我就可以在服务器启动时看到它在那里。它看起来像是在生成api/user的别名。但是,当应用程序查找api/user时,它会返回404。

以下是user-api.js中的一段代码:

代码语言:javascript
复制
 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!也许user-api路由在应该调用router.get时无法加载?我想我只是还不够了解路由和模块。谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-15 01:23:45

问题存在于

代码语言:javascript
复制
restUtils.buildUrl('/api/user') 

返回字符串'api/user',它需要为'/api/user‘

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50861497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档