2013-01-11 40 views
2

我想抛出这个问题,并从Play Framework的其他用户(特别是Play 2.0)获得一些反馈。Play Framework 2.0 - Restful URL命名约定

可以说我有一个名为'FooBar'的实体。我们还假设我提供了一个Restful API,允许在URL 'http://<host>/api/foo_bar'处进行CRUD操作。

我的问题是,社区之间有关于如何命名URL的共识,其中URL提供对名称包含多个单词的实体的访问?

我能想到的以下4个选项来命名这样的URL,这将每个似乎是合理的:

  1. 蛇的情况下(这将是Rails约定) - HTTP:/// API/foo_bar这样的名称
  2. 骆驼 - http://<host>/api/fooBar
  3. 帕斯卡情况 - http://<host>/api/FooBar
  4. 只是消除下划线(有没有这个名字吗?) - http://<host>/api/foobar

在此先感谢您的意见!

回答

0

我会避免选择2和3的原因有两个:

  1. URI的路径组成部分是大小写敏感的**,所以,这些路径实际上可能指向不同的REST端点在您的应用程序,这是混乱。

  2. 某些服务器(即在Windows上)将路径视为不区分大小写,如果需要将应用程序迁移到其他平台(或托管提供程序),可能会出现问题。

选项1和4之间,我更喜欢1(或连字符),因为是事实上的标准,但没有什么官方的,我知道。

** The spec for the path component of a URI未指定不区分大小写,因为它明确表示所有内容。

1

AFAIK,对于网址没有约定。

大多数样品的使用单字实体名称,并代表他们与小写的网址:实体= Computer,上市他们PATH = /computers,所以multi-word-parts我建议使用小写字母,连字符或下划线 - 取决于你的习惯。

我看到也发挥项目和/或使用你所指出的所有符号样本(即Play documentation使用帕斯卡,play-authenticate sample使用小写字母,连字符,符号等)

在另一方面为URL的可见的普通用户(我知道这是脱离主题),尤其是如果URL代表显示页面的标题,我建议使用/The_Wikipedia_style - 支持非拉丁字符。