我正在开发一个 API 项目,该项目允许用户执行各种操作,例如登录、注册、更新和删除他们的帐户。目前,这些端点的基本 URL 是:
localhost:8080/api/v1/user/auth
但是,我想根据登录用户自定义端点 URL,使其看起来像这样:
localhost:8080/api/v1/user/${username}
这样,用户将只能访问特定于他们帐户的数据。谁能建议一种使用 URL 参数或任何其他方法来实现此目的的方法?
我正在使用 Nodejs Expressjs 开发 API,非常感谢任何示例或代码片段。
您可以在 Express 中使用route parameters 在 URL 中有一个“变量”:
app.get('/api/v1/user/:username', (req, res) => {
const username = req.params.username; // This will be the username from the URL
// ...
});
对
localhost:8080/api/v1/user/ANY_TEXT_HERE
的任何请求都将由该端点处理。然后你可以使用用户名并相应地处理它。
请记住,请求中的用户名很容易被伪造,因此请确保实施某种访问控制系统,以便其他用户无法访问其他用户的私人信息。