2

我想提出这个问题,并从 Play 框架(特别是 Play 2.0)的其他用户那里获得一些反馈。

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

我的问题是,社区之间是否就如何命名 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

提前感谢您的反馈!

4

2 回答 2

1

AFAIK,网址没有约定。

大多数示例使用单个单词作为实体名称,并在 URL 中用小写字母表示它们:实体 = Computer,列出它们的路径 = /computers,所以multi-word-parts我建议使用小写字母和连字符或下划线 - 取决于您的习惯。

我还看到使用您指出的所有符号的 Play 项目和/或示例(即Play 文档使用 Pascal,play-authenticate 示例使用小写连字符符号等)

另一方面,对于普通用户可见的 URL(我知道这是题外话),特别是如果 URL 表示显示页面的标题,我建议使用/The_Wikipedia_style- 支持非拉丁字符。

于 2013-01-11T15:55:35.923 回答
0

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

  1. URI 的路径组件区分大小写**,因此这些路径实际上可能指向您应用程序中的不同 REST 端点,这令人困惑。

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

在选项 1 和 4 之间,我更喜欢 1(或连字符),这是事实上的标准,但我不知道任何官方信息。

** URI 的路径组件的规范没有指定不区分大小写,因为它明确指定了所有内容。

于 2013-01-12T01:05:08.277 回答