2017-07-18 66 views
0
app.get('login/:id', function (request, response) { 
    … 
}); 

在這樣的請求中,如何從用戶設置id參數?每個用戶顯然都會在我的網站上擁有唯一的ID。快速定義客戶端的路由參數

用戶必須登錄才能在會話中將默認設置的ID設置爲?我只是想了解工作流程,因爲我是使用Express的新手。

回答

0

id參數將由客戶端請求的URL確定。例如,如果客戶請求/login/foo,那麼id將是foo

+0

客戶端如何請求foo?我只是混淆了這一點與發送信息對象的請求,像我有,並通過req.propName訪問它 – Aaron

+0

可以說你的網站是example.com。如果客戶端請求http://example.com/login/abc,那麼'id'參數將是abc。它主要用於API,例如,當您要爲example.com/posts/:user/id/:postId定義路由時。 – iczero

0

使用app.get('/login/:id', ...)意味着當有人訪問GET /login/ABC端點時,您的控制器將在req.params.id中獲得ABC,就是這樣。 id不是來自會話,它只是請求中包含的路徑的一部分。

這是一個奇怪的端點名稱。通常,您需要GET /users/:id才能獲取特定用戶(可能會使用GET /users/me的別名來獲取當前登錄的用戶)。這裏不清楚它的用意是什麼 - 它是用戶的ID還是登錄用戶的會話ID?無論如何,這只是請求路徑的一部分。