gpt4 book ai didi

asp.net-mvc - 你如何构建你的 URL 路由?

转载 作者:行者123 更新时间:2023-12-04 06:52:15 25 4
gpt4 key购买 nike

是否有开发人员通常遵循的特定模式?我之前在我的 Web 应用程序中从未真正考虑过它,但是 ASP.NET MVC 路由引擎几乎迫使您至少考虑它。

到目前为止,我喜欢 Controller /操作/索引结构(例如产品/编辑/1),但我正在努力处理更复杂的网址。

例如,假设您有一个页面,其中列出了用户在其帐户中拥有的所有产品。你会怎么做?在我的脑海中,我可以想到列表页面和编辑页面的以下可能性:

  • User/{user id}/Products/List, User/{user id}/Products/Edit/{product id}
  • User/{user id}/Products, User/{user id}/Products/{product id}
  • Products?UserID={user id}, Products/Edit/{product id}

  • 我敢肯定还有很多其他人我错过了。有什么建议吗?

    最佳答案

    我喜欢 RESTful、用户友好和可破解的 URL。

    这是什么意思?让我们从用户友好的 URL 开始。对我而言,用户友好的 URL 易于输入且易于内存 /Default.aspx?action=show&userID=140不符合任何这些要求。不过,像`/users/troethom' 这样的 URL 似乎合乎逻辑。

    这就引出了下一点。可破解的 URL 是用户可以修改并仍能看到结果的 URL。如果 URL 是可破解的,并且我的个人资料的 URL 是 /users/troethom删除我的用户名以获取用户列表( /users )是安全的。

    使用 RESTful URL 与我的其他建议背后的想法非常相似。您正在为用户而不是机器设计 URL,因此 URL 必须与内容相关,而不是与站点的技术后端相关。 '/users' 的 URL 比 '/users/list' 和 URL 的 '/category/programming/javascript' 更有意义(表示类别 'programming' 中的子类别 'javascript' 比 '/category/show/12'。

    省略ID确实更难,但在我的世界里,这值得努力。

    另咨询the Understanding URIs section关于 W3C 的常见 HTTP 实现问题。它列出了设计 URI 时的常见陷阱。另一个好资源是 Resourceful Vs Hackable Search URLs .

    关于asp.net-mvc - 你如何构建你的 URL 路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/119467/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com