【问题标题】:Web application (API and Front-end) - routes designWeb 应用程序(API 和前端)- 路由设计
【发布时间】:2019-08-12 02:00:06
【问题描述】:

我想这种类型的话题总是存在的,但我喜欢对我的案例有一个具体的意见。 从 1/2 个月开始,我正在考虑为我的日常生活(购物、到期等)制作一个列表 Web 应用程序。 我开始这样定义我的对象模型(非常简单的设计模型)

Models image

所以,我决定为后端创建一个 NodeJS API,为前端创建一个 Angular 7。开发应用程序和 API 对我来说不是技术问题,但我的问题在于设计,尤其是路由设计。

我对路由 API 的第一个建议是: 用户:

  • /users
  • /users/:id

列表:

  • /lists
  • /lists/:id

元素:

  • /元素
  • /elements/:id

技术上没问题,但我不确定这是好的做法。 由于用户包含列表,列表包含元素,这样的路由不是更好吗:

  • /users/:id
  • /users/:id/list
  • /users/:id/list/:id
  • /users/:id/list/:id/element
  • /users/:id/list/:id/element/:id

感谢您的回答或建议!

PS : 如果您有任何网站/视频/主题...建议,请不要犹豫。

【问题讨论】:

    标签: node.js angular api routes


    【解决方案1】:

    我会说你一开始就搞定了,第二种方法很麻烦,因为你可以获得巨大的路线,而且你会发送很多不必要的数据。为什么需要用户 ID 来获取元素?元素本身就是一个实体,它可能会增长,您可能需要获取相关元素,过滤它们......最好只有 /elements

    你可以做的是找到简单的关系,比如:

    • /users/:id/lists
    • /lists/:id/elements

    我建议阅读building apis you won't hate :)

    【讨论】:

    • 谢谢你,我喜欢这个方法!我理解你的反应,这很好。所以我尝试了我认为的
    【解决方案2】:

    首先你在角度定义路由的绝对正确路径,同时你必须使用Lazy loading路由的概念。

    我建议你去plural sight courseDeborah Kurata。我不是想宣传或宣传任何东西,但对于您目前的情况,该课程将是正确的指导。它将为您提供构建企业级应用所需的所有必要内容。

    另外,Core UI Angular 提供了一些已经用 Angular Route 和其他东西实现的最佳设计。实现了延迟加载和其他Angular路由,你需要做的就是了解它。

    希望这会有所帮助。,

    【讨论】:

    • 谢谢,我觉得看视频教程,看起来不错。对于 Core UI Angular,它是非常好的工具,但我的应用程序非常简单,而且 UI 没有进化。但是为什么不使用其他应用程序!
    【解决方案3】:

    原则

    • 尽可能短
    • 易于阅读
    • 用户输入 URL 时的用户友好输入

    示例

    用户列表

    /users
    
    

    用户详情

    /user/:id
    
    

    添加用户

    /user/new
    
    

    用户功能页面

    /user/:id/tel
    
    

    【讨论】:

      猜你喜欢
      • 2019-02-15
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2016-02-28
      • 2017-06-12
      • 2023-03-14
      • 1970-01-01
      • 2018-05-31
      相关资源
      最近更新 更多