如何在Web项目中组织URL

时间:2017-11-01 14:01:35

标签: java spring web spring-web

有大量资源可以概述如何为RESTful API组织URL,但对于Web来说,通常很难找到。

如何构建网页的网址以便它们

  1. 从浏览网页的用户的角度来看是明智的
  2. 从Spring框架控制器中的关注点分离可以理解
  3. 要应用某些上下文,我们假设groups包含elements,并且有用例创建,查看,编辑和删除两者。

2 个答案:

答案 0 :(得分:0)

除了应用程序设计之外,您可能无法找到有关此问题的信息,因为它是涉及Information Architecture (IA)SEO的问题。如果您的应用程序或站点在Internet(而不是内部专用网络)上可用,那么您必须优化多个(有时是冲突的)约束:

  1. 让用户理解并理解用户
  2. 使您的方案易于管理且可扩展
  3. 了解您的应用或网站的哪些部分需要由搜索引擎索引
  4. 保持良好的应用程序设计(想想SOLID
  5. 可能还有其他几个......
  6. 一般情况下,我建议您首先确定您的约束,并考虑对用户有意义的事情。作为一个高度优先的人。然后尝试从那里开始其他约束。既然你提到了关注点的分离,你就会很清楚你的设计约束是什么。最终,由您(以及可能是您的企业中小企业)决定哪些约束需要严格,哪些其他约束可以放松。

答案 1 :(得分:0)

经过深思熟虑,我开始认为这是

/groups/create
/group/{gid}/
/group/{gid}/edit
/group/{gid}/delete
/group/{gid}/elements/create
/group/{gid}/element/{eid}/
/group/{gid}/element/{eid}/edit
/group/{gid}/element/{eid}/delete

唯一的缺点是,群组是针对/groups/create而不是/group/create创建的,否则群组名称create将变为非法。

另一种变体是在最后附加id,但网址很快变得笨拙

/groups/create
/groups/view/{id}
/groups/edit/{id}
/groups/delete/{id}
/groups/view/{id}/element/create
/groups/view/{id}/element/view/{eid}
/groups/view/{id}/element/edit/{eid}
/groups/view/{id}/element/delete/{eid}