Web应用程序(API和前端)-路线设计

时间:2019-03-21 08:48:10

标签: node.js angular api routes

我想这类话题总是存在的,但是我希望对我的案子有一个具体的见解。 自1/2个月以来,我一直在考虑为自己的日常生活(购物,到期等)制作一个列表Web应用程序。 我开始像这样定义对象模型(非常简单的设计模型)

Models image

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

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

  • /用户
  • / users /:id

列表:

  • /列表
  • / lists /:id

元素:

  • /元素
  • / elements /:id

技术上还可以,但是我不确定这是好的做法。 由于用户包含列表并且列表包含元素,因此拥有这样的路由会更好:

  • / users /:id
  • / users /:id / list
  • / users /:id / list /:id
  • /用户/:id /列表/:id /元素
  • / users /:id / list /:id / element /:id

感谢您的回答或建议!

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

3 个答案:

答案 0 :(得分:1)

首先,我想您可以接受,第二种方法很杂乱,因为您可以获得大量的路线,并且发送了很多不必要的数据。为什么需要用户ID才能获取元素?一个元素本身就是一个实体,它可能会增长,您可能需要获取相关元素,对其进行过滤...最好只包含 / elements

您可以做的是找到简单的关系,例如:

  • /用户/:id /列表
  • / lists /:id / elements

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

答案 1 :(得分:1)

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

我建议您在plural sight course之前加入Deborah Kurata。我不是要宣传或做任何广告,但就您目前的情况而言,这当然是正确的指导。它会为您提供构建企业就绪应用程序所需的所有必要内容。

或者Core UI Angular提供一些最佳的设计,这些设计已经通过Angular Route和其他东西实现。实现了延迟加载和其他Angular路由,您需要做的就是了解它。

希望这会有所帮助。

答案 2 :(得分:1)

原理

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

示例

用户列表

 if Op == "R":
   x = 0
   print("Register")
   NU = input("Enter new username")
   print(NU)
   NP = input("Enter new password")
   print(NP)
   Ac = {"Username":NU, "password": NP}
   print(Ac)
   x = x + 1

 elif Op == "L":
   IU = input("Input Username:")
   print(IU)
   IP = input("input your password:")
   print(IP)

   print(x)
   ils = input(s tos stop)
   if ils == "s":
      il = false

用户详细信息

/users

添加用户

/user/:id

用户的功能页面

/user/new