【问题标题】:How to handle get methods for user's profile in NodeJS?如何在 NodeJS 中处理用户配置文件的获取方法?
【发布时间】:2016-10-25 03:12:59
【问题描述】:

我将在这里解释更多,以便清楚我要做什么。我正在使用 Express.js 和 Node.js 创建一个 Web 应用程序。我正在尝试创建一个用户配置文件。我已经看到了一些网站呈现用户配置文件的不同方式:Quora:https://www.quora.com/profile/************,Stackoverflow:https://stackoverflow.com/users/4056534/sandip-subedi 和 Facebook/许多其他 www.facebook.com/username .

我想做一些类似于 Facebook 正在做的事情。 www.MYURL.com/USERNAME。我如何做到这一点?我知道如何处理 GET 请求和 POST 请求。这里有一个问题,因为我已经有超过 40 个具有不同 URL 名称的 GET/POST 请求。由于所有这些都来自 www.MYURL.com/DOSOMETHING,我无法找出正确的过滤方法,它是用户的个人资料还是其他 URL。如果我正在做类似 www.MYURL.com/user/USERNAME 之类的事情,那将很容易,因为我已经知道我现在正在与用户打交道。

【问题讨论】:

    标签: javascript node.js express post get


    【解决方案1】:

    您可以为命名空间端点创建路由器:

    let router = express.Router()
    router.get("/:username", (req, res, next) => {
        // req.params will have the URL's username parameter
        console.log("Request for user with username", req.params.username)
    })
    app.use("/user", router)
    

    这会将username 路由安装在user 路由上:/user/[username]

    https://expressjs.com/en/guide/routing.html

    【讨论】:

    • 当他们点击我网站上的某个链接时,这可能会起作用。如果他们直接在网络浏览器上输入 www.MYURL.com/sandipsubedi 会怎样?它将是 router.get("/sandipsubedi") 或类似的东西。我该怎么办?
    • 在您的应用程序中,您必须以某种方式解释用户输入。也许您将一些用户以及其他类型的数据(例如社区)存储在数据库中。您可以查看在 URL 中输入的内容是否与您的数据中的某些内容相匹配,然后将它们指向正确的位置。我不会推测它的实现,因为它可能有多种形式。
    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2022-07-12
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-31
    相关资源
    最近更新 更多