Jam*_*hon 6 rest identifier resource-id
我正在做一些研究来帮助我开发REST API,这是我在任何地方都没有深入讨论的一个主题.
如果我在系统中有用户,使用数字标识符识别用户是否更好
/用户/ 1
或者使用字符串标识符?
/用户/ RSmith
我可以看到每种方法的假设潜在利弊,字符串标识符更易于人类阅读,更不易被发现(不能增加以找到有效用户),并且不需要在数据库中存储另一个数字ID(我不会想通过API公开数据库ID).数字标识符没有固有的含义,因此可以保证是不可变的,而使用字符串id,用户可能希望重命名资源,从而更改资源URI.
这里是否有REST最佳实践,或者最佳方法是否因系统而异?如果是后者,是否还有与每种方法相关的额外利弊?
如您所知,严格来说,这两种方法之间没有优势。是的,字符串标识可能更容易让人记住,但除此之外,REST 并不强制使用“漂亮”的 URL(或 ID),因为大多数情况下 URL 是由跟随超链接的程序访问的。
因此,人类友好的 URL 应该只用于引导人类可能记住的资源。此外,ID 猜测不应该成为问题,因为:
那么该使用哪一个呢?大多数时候,这并不重要,因为 ID 不是直接访问的。如果您出于某种原因必须确保人们记住他们的 URL,请尝试使它们人性化,但尽量避免资源名称更改并应用其他一些身份验证方法,以便即使是猜测的 URL 也无法访问未经授权的位置。
归档时间: |
|
查看次数: |
2079 次 |
最近记录: |