【发布时间】:2011-12-06 10:41:37
【问题描述】:
我有一个带有一些静态路由的单页应用程序,例如:
example.org/#!/tools/
example.org/#!/stories/story-1/
这些是不需要任何版本控制的路由示例。 “页面”要么存在,要么已被重定向,要么不存在。
但是我有其他资源想要版本化(因为它们可以有内部状态 - 用 > 10 个参数的查询字符串表示):
example.org/#!/tools/population-tool/ + ?a=b&c=d[...]
因为查询字符串参数可能会随着时间而改变(因为该工具可能允许更多选项),所以我想在这些“页面”中添加一个版本参数:
example.org/#!/tools/population-tool/ + ?v=1.1&a=b&c=d[...]
这样当用户在没有任何参数的情况下导航到 URL 时,会自动添加默认状态和版本:
example.org/#!/tools/population-tool/ =>
example.org/#!/tools/population-tool/ + version + default state
如果用户决定分享/收藏此 URL,版本参数将始终允许我将参数从一个版本重新映射到另一个版本。
- 您能提出更好的方法吗?
-
也许版本应该是所有路由的 url 的一部分?
example.org/#!/v1/tools/population-tool/
或者也许版本化查询字符串是错误的方法 共?也许我应该有一种方法来猜测 根据给定的参数正确的“API”?
谢谢。
【问题讨论】:
标签: javascript web-applications backbone.js query-string versioning