什么是路由呢
在JAVA中我們請求一個地址? xxxx.do或者xxxx.action 或者是別的 都會被一個神秘的過濾器攔截 然后分配到相應(yīng)的類去處理
那么在express中也是一樣的 他對我們的請求做一次過濾 然后分配到不同的處理器中去處理
我們打開剛剛初始化好的 app.js
var index = require('./routes/index');
var users = require('./routes/users');
app.use('/', index);
app.use('/users', users);
我們發(fā)現(xiàn)了這一段代碼 這就是 加載路由并且實現(xiàn)路由的
我們啟動服務(wù) 然后打開界面
http://localhost:3000/
這時候 我們用的是/ 他就會進(jìn)入 index.js中去處理相應(yīng)的邏輯
如果我們是
http://localhost:3000/users
這樣訪問他就會到users.js的業(yè)務(wù)邏輯處理中
如果我們在 users.js中這樣配置
router.get('/test', function(req, res, next) {
res.send('hello');
});
訪問
http://localhost:3000/users/test
界面中則出現(xiàn) hello
參數(shù)
參數(shù)的獲取 直接影響到了業(yè)務(wù)邏輯的運行 我們有3種取得參數(shù)的方式
Checks route params (req.params)
Checks query string params (req.query)
Checks urlencoded?body params (req.body)
舉個例子 ?
首先修改一下我們的users.js
router.get('/test', function(req, res, next) {
var obj = req.query;
console.log(obj.name);
res.send('hello');
});
然后 瀏覽器輸入
http://localhost:3000/users/test?name=kobe&age=18
這時候我們會發(fā)現(xiàn) 控制臺打印出來了 kobe