我负责为一个相对较小的应用设计路由系统(以及 URL 结构)。应用本身应提供添加“根”级实体的功能以及从父级上下文添加子(嵌套)实体的能力。
考虑以下示例设置:
- 根实体:
Dogs
。 - 子实体:
Vaccinations
我有以下 UI 路由(BE 路由很容易,因为它总是平坦的,而且我可以利用 VERB 来发挥我的优势):
注意:获得超过 1 级嵌套的机会非常小,但如果它们实现,则可能会成为一个问题......
根级别:
- 得到:
/dogs?param1=value1&...
- 邮政:
/dogs/add
- 放:
/dogs/10/update
- 删除
/dogs/10/delete
- 风俗
/dogs/10/custom
嵌套级别:
- 得到:
/dogs/10/vaccinations?param1=value1&...
- 邮政:
/dogs/10/vaccinations/add
- 放:
/dogs/10/vaccinations/25/update
- 删除:
/dogs/10/vaccinations/25/delete
- 风俗:
/dogs/10/vaccinations/25/custom
虽然这对我来说有效,但我可以看到另一种可行的方法,即:
/dogs/10/vaccinations/25/add
人们会使用:
/dogs/10/addvaccination/25
这会导致 URL 稍微变短,但会产生与脱离资源符号相关的处理开销 - 即addvaccination
需要收敛到vaccinations
+ add
。
我知道 REST 只是一套建议,所以我想看看人们对我最初的方法有何看法,并可能收集任何其他关注/建议。