对于我正在开发的站点,我们正在为一种类型的资源改进 URL ——具体来说,就是从数字 ID 转向唯一的描述性字符串。一个类似的例子是从用数字数据库 ID 标识用户切换到用用户名标识用户(不是我们的特定情况,而是类似的)。因此,访问用户信息的 URL 过去看起来是这样的:
/users/48573
现在看起来
/users/thisisausername.
唯一的问题是,我们仍然需要能够以某种方式通过数字 ID 为 API 的遗留使用者获取它们。我们不需要 REST URL 本身来重定向(例如,/users/48573
不应该重定向到 /users/thisisausername
) ,我们只需要一个方法来使用旧的标识符获得正确的数据。这个解决方案应该提供另一种方法,通过 ID 访问用户信息(方便地包括新的标识符,用户名) ,或者仅通过 ID 访问用户名。一些可能的解决办法可能是:
/users/byid/48573
/users/48573?fetchby=id
或 /users/48573?byid=true
/identifiers/username/48573
哪一个(如果有的话)最接近正确的 REST? 你将如何处理这个问题?