我在使用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