我在使用express.Router()麻烦我婉,我不相信我的问题是,什么样的方式使用express.Router()。我的问题是,当我做一个GET请求的URL“/ API/ZIP”或“/ API/ZIP /” +拉链,其中拉链是一个数字的邮政编码,那被击中的唯一途径是“/”,在下面的例子中记录了'$$$$$$$$$$$$'。有多个URL和可选参数
当我拿出路线“/”在results_api.js,“去到server.js”被记录,但我没有得到任何results_api.js。让我知道是否需要发布更多上下文代码。我正在使用Angular前端,但我假设由于我的请求总是到达server.js(通过'将其设置为server.js'进行验证),所以我的问题在results_api.js中。
我已经使用之前此路由方法,我不知道什么是围绕走错了这个时候。如何管理打routes.get('/ ZIP /:拉链......
在我server.js文件:
var express = require('express');
var routes = express.Router();
//route to index.html
var assetFolder = Path.resolve(__dirname, '../client/');
routes.use(express.static(assetFolder));
//api routes
routes.use('/api/*', require(‘./api/results_api.js’), function(){
console.log('made it to server.js')});
我results_api.js文件:
var router = require('express').Router();
router.get('/', function(req, res){
console.log('$$$$$$$$$$$$$$$')
});
router.get('/zip', function(req, res){
console.log(‘###################’)
});
router.get('/zip/:zip', function(req, res){
console.log('%%%%%%%%%%%%%%%%%')
});
module.exports = router;
这个问题:
express.Router() get url route with optional parameters
是贴近我,但没有中间参数(在我的情况“/ zip /'在'/ api'之后)。这是否表明我正在尝试做的仅仅是构建我的api的错误方式?
我已经尝试过,'/'仍然是使用的处理程序。当我在'/'处理程序内部登录req.baseUrl时,我得到'/ api/zip/78728',所以我知道url正在正确构建。 – swoopedj
更新了答案,我有机会测试了这一点之后:/ – panta82
这是它!谢天谢地,我实际上已经尝试过忽略ht'/ *',但是我没有正确设置我的处理程序,并且在那个时候确信我的处理程序是问题所在。 – swoopedj