2017-07-18 67 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?无论如何,这只是请求路径的一部分。