2016-07-16 79 views
-2

首先,我使用JetBrains WebStorm並用於創建Node.js Express App項目。用參數使用JetBrains Rest Rest api實現WebStorm + node.js + express

我的修改是在app.js

app.get('/api/restaurants', function(req, res) { 
    console.log("Parameter[0]", req.params.restaurant_id); 
    res.json({ 
    '01010112D8139F13': '0ao123r1' 
    }); 
}); 
app.get('/api/restaurants/:id', function(req, res) { 
    console.log("Parameter[1]", req.params.restaurant_id); 
    res.json({ 
    'message': 'worked?' 
    }); 
}); 

我使用郵遞員插件在Chrome瀏覽器測試我的API和我不能訪問本地主機:3000/API /餐廳restaurant_id = 01010112D8139F13無通過router.route( '/餐館')被路由,而不是router.route( '/餐館/:restaurant_id')

在控制檯我有:

GET /api/restaurants?id=01010112D8139F13 200 1.803 ms - 31 

如果有人可以幫助我,請提前致謝。

+0

你有一個特定的錯誤?請不要將您的代碼作爲屏幕截圖。改爲在問題中包含代碼。請務必通過[幫助中心](http://stackoverflow.com/help)停止以獲取有關如何使用該網站的更多信息。具體來說,請查看[如何提問](http://stackoverflow.com/help/how-to-ask)部分。歡迎來到Stack Overflow,並開心問道! –

+0

沒有錯誤,它只是由router.route('/ restaurants')處理 在日誌中我收到GET/api/restaurants /?restaurant_id = 01010112D8139F13 200 1.803 ms - 31 –

回答

0

restaurant_id不是查詢參數,而是路徑中的可變部分。例如,/restaurants/01010112/restaurants/1都由相同的Web請求處理程序處理,因爲兩者都適用於/restaurants/:restaurant_id模式。

餐廳特定端點需要修改方式如下:

app.get('/api/restaurants/:id', function(req, res) { 
    console.log("Parameter[1]", req.params.id); 
    res.json({ 
    'message': 'worked?' 
    }); 
}); 

,並使用以下網址在控制檯上:

/api/restaurants/01010112D8139F13

+0

仍然不能正常工作=/ –

+0

它正在運行!謝謝yeiniel –